https 연결시 서버의 SSL 인증서 추출하기 (curl 또는 web browser 사용)
개요
https 로 연결하는 서버의 SSL 인증서를 파일로 저장하는 방법
CMD 에서 openssl 이용
openssl 로 해당 서버에 연결한다. (예: google.com)
openssl s_client -connect google.com:443 |tee certlog
- 다음과 같은 SSL 화면에서 QUIT 입력
log 파일 및 Base64 Encoding 된 SSL 인증서가 certlog 파일에 저장됨. ()
certlog 에서 인증서 부분만 추출 (인증서는 certlog 파일내 "BEGIN CERTIFICATE" and "END CERTIFICATE" 사이에 존재하므로 에디터로 직접 편집해도 됨)
openssl x509 -inform PEM -in certlog -text -out certdata
제대로 추출되었는지 openssl 로 인증서 파싱해서 출력 확인
openssl x509 -inform PEM -text -in certdata
추출된 서버인증서인 certdata 파일의 내용을 ca-bundle.crt 에 추가한다.
cat certdata >> /etc/pki/tls/certs/ca-bundle.crt
Windows에서 Browser 이용
Chrome 에서 추출하는 방법을 설명. IE나 Firefox 도 유사함
- Chrome 으로 https 사이트에 연결한다. (Ex: https://google.com)
- URL 창에서 자물쇠 모양 아이콘을 클릭한다.
- 연결 -> 인증서 정보 를 클릭
- 자세히 -> 파일에 복사 클릭
- 다음 클릭
- Base 64로 인코딩된 X.509 를 선택하고 다음 클릭
- 저장할 파일명과 경로 지정후 다음 클릭
- 마침 클릭하면 7에서 지정한 경로에 .cer 확장자를 가진 SSL 인증서가 파일로 생성된다.