The certificate was created in 1988 as part of the X.500 directory that helped early users navigate digital networking directories. Today, X.509 certificates are used to help users identify a secure connection and X.509 certificates create a key pair in order to bind a specific user to a certificate, ensuring privacy and legitimacy for users within companies or larger organisations. (Source)
OpenSSL 을 이용하여 2가지 방법을 설명하고자 합니다. 이를 위해선 우선 OpenSSL 를 설치해야 합니다.
자체 서명 된 인증서 얻기.
개인 키를 사용하여 인증서 내보내기.
Windows 10 에 OpenSSL 설치를 하는 내용은 아래 사이트를 참고하시기 바랍니다.
폴더 내에두 개의 파일 private key (privkey.pem) 와 public 인증서 (Certificate.crt) 생성됩니다.이를 사용하여 private key 와 패스워드 값을 가지고 PFX 파일을 내보낼 것입니다.이 생성된 PFX 인증서 파일은 데이터에 서명하는 데 필요합니다.
PEM (Privacy Enhanced Mail)은 Base64 인코딩된 ASCII 텍스트 이다. 파일 구분 확장자로 .pem 을 주로 사용한다. 노트패드에서 열기/수정도 가능하다. 개인키, 서버인증서, 루트인증서, 체인인증서 및 SSL 발급 요청시 생성하는 CSR 등에 사용되는 포맷이며, 가장 광범위하고 거의 99% 대부분의 시스템에 호환되는 산업 표준 포맷이다. (대부분 텍스트 파일)
.crt
거의 대부분 PEM 포맷이며, 주로 유닉스/리눅스 기반 시스템에서 인증서 파일임을 구분하기 위해서 사용되는 확장자 이다. 다른 확장자로 .cer 도 사용된다. 파일을 노트패드 등으로 바로 열어 보면 PEM 포맷인지 바이너리 포맷인지 알수 있지만 99% 는 Base64 PEM 포맷이라고 봐도 무방하다. (대부분 텍스트 파일)
.pfx / .p12
PKCS#12 바이너리 포맷이며, Personal Information Exchange Format 를 의미한다. 주로 Windows IIS 기반에서 인증서 적용/이동시 활용된다. 주요 장점으로는 개인키,서버인증서,루트인증서,체인인증서를 모두 담을수 있어서 SSL 인증서 적용이나 또는 이전시 상당히 유용하고 편리하다. Tomcat 등 요즘에는 pfx 설정을 지원하는 서버가 많아지고 있다. (바이너리 이진 파일)
Windows Server 플랫폼에서 인증서를 사용하려면 이를 PFX 형식으로 변환해야 합니다.
아래 명령어를 실행하여 private key 와 public 인증서를 통해 pfx 인증서를 생성하기 위해 Certificate.crt 및privkey.pem파일을 명령어에 각각 지정하여 입력합니다.
실행하면 pfx 인증서에 대한 비밀번호를 입력해라는 메시지가 표시됩니다. 예제 구문에서는 비밀번호를 1234 로 사용하였습니다.