Linux

[ Linux ] .p12 인증서 만들기

soyali 2025. 5. 21. 17:31

SSL, HTTPS, S/MIME, 클라이언트 인증 등을 다루다 보면
.p12 파일 또는 PKCS#12 포맷 인증서를 생성해야 하는 상황이 자주 생깁니다.
.p12 파일은 하나의 파일에 개인 키와 인증서, CA 체인까지 포함되기 때문에, 배포나 인증용으로 매우 유용합니다.

 

 

.p12 파일이란?

  • .p12 (또는 .pfx)는 PKCS#12 포맷의 인증서 파일
  • 하나의 파일에 다음을 통합해서 저장할 수 있음:
    • 개인 키 (Private Key)
    • 공개 인증서 (Certificate)
    • 루트/중간 인증서 (CA Chain)
    • 암호 보호 설정

주로 브라우저, Windows, 모바일 앱, 클라이언트 인증 등에 사용

 

.p12 파일 생성에 필요한 정보 및 준비물

항목 설명
1. 개인 키 (.key) 인증서 요청 시 생성한 개인 키
비밀 유지 필수
2. 서명된 인증서 (.crt 또는 .pem) CA 또는 자체 서명된 공개 인증서
3. CA 체인 인증서 (ca.crt 등) 루트/중간 인증기관의 인증서 묶음 (필요 시)
4. 출력 파일 이름 (.p12) 만들 .p12 파일의 이름
5. 비밀번호 .p12 파일 보호용 암호 (지정해야 함)
 

 

예시: .p12 인증서 생성 명령어

openssl pkcs12 -export \ -inkey private.key \ -in certificate.crt \ -certfile ca_bundle.crt \ -out output.p12

각 옵션 설명

옵션 의미
-inkey 개인 키 파일
-in 자신의 인증서 파일
-certfile CA 체인 (중간 인증서 포함)
-out 출력될 .p12 파일 이름
-export .p12 파일을 생성하는 명령

실행 시 .p12 파일을 암호로 보호하기 위해 비밀번호 입력을 요구합니다.

 

 

추가 Tip

  • 개인 키와 인증서는 짝이 맞아야 정상적으로 .p12가 생성됩니다.→ 두 값이 같으면 짝이 맞습니다.
 
openssl x509 -noout -modulus -in certificate.crt | openssl md5 openssl rsa -noout -modulus -in private.key | openssl md5
  • CA 체인 파일이 없다면, -certfile 옵션은 생략 가능합니다.

 

 

 

 

마무리 요약

필요한 정보 설명
개인 키 서명된 인증서의 개인 키 (.key)
인증서 CA에서 발급 받은 인증서 (.crt/.pem)
CA 인증서 체인 중간 + 루트 인증서 묶음 (.crt)
보호 암호 .p12 파일 암호화에 사용됨
출력 파일 이름 원하는 .p12 이름 지정
 

.p12 파일은 모든 인증 정보를 하나로 묶어 관리할 수 있는 매우 편리한 포맷입니다.
특히 클라이언트 인증, 스마트폰/브라우저 설치, S/MIME 이메일 암호화 등에서 많이 사용됩니다.