openssl 키 생성하는 방법입니다.
HTTPS
HTTP에서 보안이 강화된 프로토콜로, SSL을 이용하여 암호화를 합니다.
기존의 HTTP의 경우 암호화되지 않은 방법으로 데이터를 전송하므로, 메시지를 주고 받는 과정에서 감청당할 수 있습니다. 만약 중요한 정보를 전송한다면, 메시지를 주고받는 과정이 암호화 되지않은 상태로 노출될 수 있습니다.
SSL
SSL은 서버와 클라이언트간의 통신을 제 3자가 보증하는 전자문서로, 주로 하는 역할은 암호화입니다. SSL은 암호화된 데이터를 전송하기 위해서 공개키와 대칭키를 혼합해서 사용합니다
1. openssl 설치
openlssl download url : https://sourceforge.net/projects/openssl/
링크 타고 들어가서 파일 다운로드 후 압축해제 합니다.
OpenSSL
Download OpenSSL for free. This project offers OpenSSL for Windows (static as well as shared). It supports: FIPS Object Module 1.2 and CAPI engine.
sourceforge.net
2. 환경 변수 설정
시스템 환경 변수 편집 클릭
새로 만들기로 openssl 의 path 입력후 확인
변수 이름은 OPENSSL_CONF
변수 값은 OPENSSL PATH:bin/openssl.cnf
openssl 설치 완료
자체 서명 인증서
openssl genrsa -out private.pem 1024
다음 명령어를 입력하면 개인키가 파일 privKey.pem으로 만들어집니다. 여기서 만든 개인키는 이후 단계에서 계속 사용됩니다.
CSR(인증서 서명 요청서) 만들기
openssl req -new -key privvate.pem -out private-csr.pem
CSR (Certificate Signing Request)이 파일 private-csr.pem으로 만들어 집니다. CSR은 인증서에 포함되는 여러 정보를 기록하는 용도입니다. 그래서 이 명령어를 실행하면 여러 정보를 입력하라는 프롬프트가 나오지만 그냥 엔터를 입력하여 넘어가도 됩니다. 다만 Common Name만 입력하면 됩니다.(IP주소 또는 localhost) 여기서 생성된 CSR은 다음 단계에서 사용되지만 이후에는 삭제해도 됩니다.
인증서 만들기
openssl x509 -req -days 730 -in private-csr.pem -signkey private.pem -out cert.pem
CSR을 개인키로 서명하여 인증서를 만듭니다. 그 결과는 파일 cert.pem입니다. 여기서는 -days 730로 하여 인증서 유효 기간을 2년으로 지정했습니다. 인증서 유효 기간은 임의로 조절하면 되지만, 인증서 기간이 만료되면 다시 만들어야 합니다.