본문 바로가기

리눅스

OpenSSL로 PFX 파일을 생성하는 방법

반응형

OpenSSL로 PFX 파일을 생성하는 방법

PFX 파일이란?

PFX(Personal Information Exchange) 파일은 개인 키(Private Key)와 공개 키(인증서, Certificate) 를 하나의 파일로 묶은 포맷입니다.

 

주요 특징

  • 개인 키 + 인증서를 하나의 파일로 패키징
  • 암호로 보호 가능
  • 주로 Windows 환경, IIS, Azure, 인증서 배포 시 사용
  • 확장자: .pfx 또는 .p12

1. 개인 키 및 인증서 생성

PFX 파일을 만들기 위해 개인 키와 인증서를 생성합니다.

openssl req \
-newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-keyout privatekey.pem \
-out certificate.pem \
-subj "/C=KR/ST=Seoul/L=Jongno-gu/O=SangChul Co., Ltd./OU=Infrastructure Team/CN=*.example.com"

* 비밀번호 없이 개인 키 생성 : -nodes 옵션

$ openssl req \
> -newkey rsa:4096 \
> -x509 \
> -sha256 \
> -days 3650 \
> -keyout privatekey.pem \
> -out certificate.pem \
> -subj "/C=KR/ST=Seoul/L=Jongno-gu/O=SangChul Co., Ltd./OU=Infrastructure Team/CN=*.example.com"
Generating a 4096 bit RSA private key
...............................................................................................++
..++
writing new private key to 'privatekey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
입력하는 암호는 개인 키(privatekey.pem)의 암호입니다.
728x90

2. OpenSSL로 PFX 파일 생성

개인 키 + 인증서를 하나의 PFX 파일로 묶습니다.

 

기본 PFX 생성 (암호 입력 방식)

openssl pkcs12 -export -in [인증서 파일 이름] -inkey [개인 키 파일 이름] -out [PFX 파일 이름]
$ openssl pkcs12 -export -inkey privatekey.pem -in certificate.pem -out certificate.pfx
Enter pass phrase for privatekey.pem:
Enter Export Password:
Verifying - Enter Export Password:
  • 첫 번째 암호 : 개인 키 암호
  • 두 번째 암호 : PFX 파일 보호용 암호

3. PFX 파일 암호를 미리 지정하는 방법

자동화 또는 스크립트 환경에서는 PFX 암호를 명령어에 포함할 수 있습니다.

openssl pkcs12 -export -inkey privatekey.pem -in certificate.pem -out certificate.pfx -passout pass:1234
$ openssl pkcs12 -export -inkey privatekey.pem -in certificate.pem -out certificate.pfx -passout pass:1234
Enter pass phrase for privatekey.pem:

4. 생성 결과 파일 정리

privatekey.pem : 개인 키

certificate.pem : 공개 키(인증서)

certificate.pfx : 개인 키 + 인증서를 포함한 PFX 파일

 

참고URL

- 한비로(comodossl) : Openssl 을 이용한 PFX 조합 및 분리 방법

- SecureSign : Convert Certificate Format

 

openssl pkcs12 -export -inkey privatekey.pem -incertificate.pem -outcertificate.pfx -passout pass:1234
 
728x90
반응형