OpenSSL 인증서 변환: PEM, P7B, CER, PFX

Windows IIS에서 인증서를 적용하려면 PFX형태의 인증서가 필요하다. 하지만 인증서는 CER, PEM, P7B등 다양한 형태가 있으며 리눅스에서 발급하게 되면 주로 PEM이나 CER파일을 보게 된다. 오늘은 인증서 변환에 대해서 살펴보고자 한다. 사실, 일반적으로 인증서 발급업체에 사용하는 system과 application을 알려주면 맞춰서 주지만 다른 형태로 왔다고 하더라도 아래와 같은 방법으로 변경하면 되니 알아 둘만 하다.


PFX로 변환하기 (Windows IIS용)

# 1) CER/PrivateKey에서 PFX (CER to PFX)
openssl pkcs12 -export -in 인증서.cer -inkey 개인키.key -out 저장인증서.pfx -certfile CA인증서.cer

# 2) PEM/PrivateKey에서 PFX  (PEM to PFX)
# let's encrypt certbot certonly로 발급받은 경우, 개인키도 privkey.pem파일로 되어있어 inkey에 pem파일로 넣음 (-inkey 개인키.pem)
openssl pkcs12 -export -in 인증서.pem -inkey 개인키.key -out 저장인증서.pfx

# 3) P7B에서 일단 PEM으로 변환후 2)적용 (P7B to PEM to PFX)
openssl pkcs7 -inform PEM -in 인증서.p7b -print_certs -text -out 저장인증서.pem

PEM으로 변환하기 (Linux용)

# PFX에서 PEM으로 변환 (PFX to PEM)
openssl pkcs12 -in 인증서.pfx -nokeys -out 저장인증서.pem -nodes # 인증서
openssl pkcs12 -in 인증서.pfx -nocerts -out 저장키.key -nodes # 개인키
openssl pkcs12 -in 인증서.pfx -cacerts -nokeys --chine -out ca인증서.cer #CA인증서

# DER/CER에서 PEM (DER to PEM, CER to PEM)
openssl x509 -inform DER -in 인증서.der -out 저장인증서.pem
openssl x509 -in 인증서.cer -outform PEM -out 저장인증서.pem

# P7B에서 PEM으로 변환 (P7B to PEM)
openssl pkcs7 -inform PEM -in 인증서.p7b -print_certs -text -out 저장인증서.pem

기타 변환

# PEM에서 DER 변환 (PEM to DER)
openssl x509 -outform DER -in 인증서.pem -out 저장인증서.der #인증서
openssl ras -in 개인키.pem -pubout -outform DER -out 저장개인키.der #개인키

# PEM에서 P7B 변환 (PEM to P7B)
openssl cr2pkcs7 -nocrl -certifile 인증서.pem -out 저장인증서.p7b -certfile CA인증서.cer

# PEM에서 P12 변환 (PEM to P12)
# PFX에서 각각 공개키, 개인키, CA인증서 추출한 것을 한 파일로 저장
openssl pkcs12 -export -in 인증서.pem -inkey 저장키.key -certfile CA인증서.cer -out 인증서.p12

1 thought on “OpenSSL 인증서 변환: PEM, P7B, CER, PFX”

  1. Pingback: 무료 SSL 인증서 발급 (Let's Encrypt) - Hapinus

Leave a Comment

Your email address will not be published. Required fields are marked *