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 이메일 암호화 등에서 많이 사용됩니다.
'Linux' 카테고리의 다른 글
| [ Linux ] fuser - 누가 파일/포트를 점유 중인지 확인하기 (0) | 2025.05.29 |
|---|---|
| [ Linux ] ln 명령어 [ 하드 링크 vs 심볼릭 링크 ] (2) | 2025.05.27 |
| [ Linux ] 파일 편집 명령어 정리 (0) | 2025.05.20 |
| [ Linux ] 파일 읽기 명령어의 종류와 차이점 비교 (0) | 2025.05.20 |
| [ Linux ] 주요 디렉터리 구조와 역할 정리 (0) | 2025.05.19 |