개요
웹서버에 https를 적용할 경우 인증서가 필요하므로 비용이 발생하게 된다.
테스트 용도로 OpenSSL을 이용하여 SSL 인증서를 발급하는 법을 알아보자.
인증서 발급에 필요한 용어부터 알아보자.
Self Signed Certificate(SSC)란?
인증서(Digital Certificate)는 인증기관의 개인키
로 인증서 소유자의 공개키를 전자서명한 데이터를 말한다.
모든 인증서는 발급기관(CA)가 있어야하지만 최상위 인증기관(ROOT CA)는 서명해줄 상위 인증기관이 없으므로 개인키로 스스로의 인증서에 서명하여 최상위 인증기관 인증서를 만든다. 이렇게 스스로 서명한 ROOT CA 인증서를 Self Signed Certifcate라고 한다.
브라우저에서는 유명한 ROOT CA들의 인증서를 신뢰하는 CA로 미리 등록해 놓기 때문에, 우리가 만든 인증서는 신뢰할 수 없는 인증서라고 보안 경고가 뜨게 된다.
=> 테스트를 위해서 Browser에 SSL 인증서 발급기관 추가를 해야한다. 하지만 잘안되서 포기했던 경험이 있음..
Certicate Signing Request(CSR)이란?
CSR은 인증기관에 인증서 발급 요청을 하는 특별한 ASN.1형식의 파일이며 그 안에는 내 공개키 정보와 사용하는 알고리즘 정보등이 들어 있다. (개인키는 외부에 유출되면 안되므로 특별한 형식의 파일을 만들어서 인증기관에 전달하여 인증서를 발급 받는다.)
SSL인증서 발급시 CSR생성은 Web Server에서 이루어지는데 CSR생성이 어려우니 인증서 발급 대행 기관에서 개인키까지 생성해서 보내주곤 한다.
2020/05/09 - [프로그래밍 노트/인프라] - OpenSSL을 사용하여 ROOT CA 생성 및 SSL 인증서 발급하기_2
2020/03/10 - [그 외 ... (정리해야함)/꿀팁] - 인증서 해쉬와 디지털 서명(Hash and Digital Signing)
참고) ttps://www.lesstif.com/pages/viewpage.action?pageId=6979614#
'프로그래밍 노트 > 인프라' 카테고리의 다른 글
[nginx] HTTP관련 환경 설정_1 (0) | 2020.06.02 |
---|---|
OpenSSL을 사용하여 ROOT CA 생성 및 SSL 인증서 발급하기_2 (0) | 2020.05.09 |
[nginx] 기본설정 살펴보기 (0) | 2020.04.28 |
[nginx] https(ssl) 설정 - 인증서체인설정 (0) | 2020.04.28 |
[nginx] upstream (nginx + tomcat 연동) (2) | 2020.04.28 |