https 연결시 서버의 SSL 인증서 추출하기 (curl 또는 web browser 사용)

개요

https 로 연결하는 서버의 SSL 인증서를 파일로 저장하는 방법

CMD 에서 openssl 이용

  1. openssl 로 해당 서버에 연결한다. (예: google.com)

    openssl s_client -connect google.com:443 |tee certlog
  2. 다음과 같은 SSL 화면에서 QUIT 입력
     
  3. log 파일 및 Base64 Encoding 된 SSL 인증서가 certlog 파일에 저장됨. () 

  4. certlog 에서 인증서 부분만 추출 (인증서는 certlog 파일내 "BEGIN CERTIFICATE" and "END CERTIFICATE" 사이에 존재하므로 에디터로 직접 편집해도 됨)

    openssl x509 -inform PEM -in certlog -text -out certdata
  5. 제대로 추출되었는지 openssl 로 인증서 파싱해서 출력 확인

    openssl x509 -inform PEM -text -in certdata 
  6. 추출된 서버인증서인 certdata 파일의 내용을 ca-bundle.crt 에 추가한다.

    cat certdata >> /etc/pki/tls/certs/ca-bundle.crt

Windows에서 Browser 이용

Chrome 에서 추출하는 방법을 설명. IE나 Firefox 도 유사함

  1. Chrome 으로 https 사이트에 연결한다. (Ex: https://google.com)
  2. URL 창에서 자물쇠 모양 아이콘을 클릭한다.
     
  3. 연결 -> 인증서 정보 를 클릭
     
  4. 자세히 -> 파일에 복사 클릭
     
  5. 다음 클릭
     
  6. Base 64로 인코딩된 X.509 를 선택하고 다음 클릭
     
  7. 저장할 파일명과 경로 지정후 다음 클릭
     
  8. 마침 클릭하면 7에서 지정한 경로에 .cer 확장자를 가진 SSL 인증서가 파일로 생성된다.
     


See Also


Ref