[Windows] OpenSSL로 인증서(.pfx) 생성하기
1. Open SSL 설치 및 실행
아래 링크를 들어 간 뒤 Download 를 클릭하여 다운로드 후 압축을 풀어 주자.
https://sourceforge.net/projects/openssl/
sourceforge.net

압축을 푼 뒤 OpenSSL 폴더를 C드라이브에 위치하도록 한 다음 ( C:\OpenSSL )
C:\OpenSSL\bin 폴더에 있는 openssl.cnf 를 C:\EopnSSL 로 복사 해 준다.

'명령 프롬프트'를 관리자 권한으로 실행 시켜 주자.

OpenSSL이 위치한 경로로 이동한 다음 bin\openssl.exe 입력 하면 OpenSSL 이 실행 된다.

2. 개인 키 발급
아래 두 방법 중 하나로 개인키를 생성 한다.
OpenSSL> genrsa -out private.key 2048
- 비밀번호가 없는 개인 키
- https의 SSL 인증서는 서비스를 등록 할 때 마다 비밀번호를 입력해야 하기 때문에 비밀번호 없이 사용OpenSSL> genrsa -des3 -out private.key 2048
- 비밀번호를 갖는 개인 키 생성3. 공개 키 발급
OpenSSL> rsa -in private.key -pubout -out public.key4. CSR (Certificate Signing Request) 생성
OpenSSL> req -new -key private.key -out csr파일이름.csrCSR : SSL 서버를 운영하는 회사의 정보를 암호화하여 인증 기관으로 보내 인증서를 발급받기 위한 일종의 신청서.
CSR을 생성 할 때 서버의 식별명을 입력 해야 함.
예시)
Country Name ( 국가코드) [] : KR
State or Province Name ( 지역 ) [] : Seoul
Locality Name ( 시/군/구 ) [] : Gangseo
Organization Name ( 회사명 ) [] : Welshtokki Inc.
Organizational Unit Name ( 부서명 ) [] : Dev. Team
Common Name ( 서비스도메인명 ) [] : www.welshtokki.com
Email Address [] : welshtokki@gmail.com
A challenge password []: (그냥 엔터로 넘어 가도 됨)
An optional company name []: (그냥 엔터로 넘어 가도 됨)
5. 인증서(CRT) 생성
다음 명령어를 입력하여 CA(Certificate Authority)의 key를 생성 한다.
OpenSSL> genrsa -aes256 -out CA.key 2048
사용한 암호화 알고리즘은 aes256생성시 비밀번호를 입력 해야 하며, 다음 과정들에서 입력 해야 한다.
위에서 만든 CA key를 입력으로하여, 아래 명령어를 통해 PEM(Privacy Enhanced Mail) 파일을 만든다.
OpenSSL> req -x509 -new -nodes -key CA.key -days 3650 -out CA.pem
기간은 10년위에서 CA 생성시 입력했던 비밀번호를 입력하고, CSR 생성했을 때와 비슷하게 내용을 채워 주자.

이제 아래 명령어를 입력하여 CRT를 생성 한다.
OpenSSL> x509 -req -in csr파일이름.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out crt파일이름.crt -days 3650CA 생성시 입력했던 비밀번호를 한번 더 입력 해주면, CRT 파일이 생성 된다.
6. .pfx 생성
private.key 는 "2. 개인키 발급" 항목에서 발급했던 개인 키 이다.
OpenSSL> pkcs12 -export -in crt파일이름.crt -inkey private.key -out pfx파일이름.pfxExport Password를 입력 하면 pfx 파일이 생성 된다.