PKCS #12 번들 (.p12)
IETF 표준PKCS #12(P12, PFX라고도 함)는 개인 키를 해당 X.509 공개 인증서 및 CA 체인과 함께 안전하게 저장하고 전송하기 위해 설계된 암호화된 비밀번호 보호 아카이브 형식입니다.
P12을(를) PEM(으)로 변환
무료 브라우저 내 P12-PEM 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 P12 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 P12 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
30 82ASCII 표현: 0\x82
표준화: IETF RFC 7292 / PKCS #12 v1.1
기술 사양
| 컨테이너 아키텍처 | Password-encrypted ASN.1 PFX structure encapsulating SafeBags holding private keys, certificates, and CRLs |
| 압축 | Uncompressed cryptographic data |
| 바이트 엔디안 | Big-Endian ASN.1 DER |
| 색 공간 | N/A (Encrypted Key Store) |
| 채널 및 구조 | Private keys, Public certificates, Intermediate CA chains, and Root CA certificates |
| 최대 크기 | Typically 5 KB to 25 KB |
| 투명도 | Encrypted container (password-protected) |
| 스트리밍 및 프로그레시브 | Atomic encrypted archive extraction |
기술 비교 매트릭스: P12 대 경쟁사
| 기술적 속성 | P12 (현재) | PEM | CRT | DER |
|---|---|---|---|---|
| 번들 기능 | 개인 키 + 인증서 체인 올인원 | 텍스트 형식으로 결합 가능, 암호화되지 않은 키 | 인증서 전용 | 단일 바이너리 키 또는 인증서 |
| 암호화 | 비밀번호 암호화(AES-256) | 개인 키에 선택적 암호 | 암호화되지 않은 공개 인증서 | 암호화되지 않은 바이너리 |
| Apple iOS 및 macOS | 네이티브 ID 내보내기 표준 | 명령줄을 통해 사용 | 인증서로 가져옴 | 원시 키로 가져옴 |
| 상호 호환 | .pfx (동일한 형식) | .crt, .key | .cer | .asn1 |
일반적인 손상 모드 및 헥스 복구 가이드
추출 오류: 올바른 비밀번호를 입력했음에도 'Mac verify error: invalid password'가 발생합니다.
근본 원인: OpenSSL 3.0 기본 설정이 구형 P12 파일 내부의 레거시 3DES/RC2 암호화 알고리즘을 거부하기 때문입니다.
복구: File2File 인증서 도구를 사용하여 최신 AES-256으로 다시 암호화하세요.
보안 분석 및 파서 공격 벡터
P12 컨테이너는 중요한 개인 키를 보유하므로, 레거시 암호화 암호 체계를 최신 AES 표준으로 업데이트해야 합니다.
알려진 공격 벡터
- 낮은 반복 횟수를 사용하는 취약하게 암호화된 P12 아카이브에 대한 무차별 대입 비밀번호 공격.
- 구형 P12 파일의 레거시 RC2-40-CBC 취약한 암호 체계 악용.
- 강화되지 않은 메모리 버퍼에서 복호화된 개인 키의 메모리 누수.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 올인원 패키징: 개인 키, 공개 인증서, 전체 중간 CA 체인을 단일 보안 파일에 번들로 묶습니다.
- 비밀번호 보호 암호화: 개인 키가 AES-256 또는 3DES로 암호화되어 안전하게 전송할 수 있습니다.
- 웹 브라우저 인증 및 Apple iOS 개발자 코드 서명 프로필을 위한 표준 클라이언트 인증서 형식입니다.
기술적 제한 사항 및 단점
- 추출 시 비밀번호 필요: 비밀번호를 잊어버리면 개인 키를 영구적으로 복구할 수 없습니다.
- 레거시 P12 파일은 최신 OpenSSL 3.0에서 경고를 유발하는 취약한 3DES 또는 RC2 암호화 알고리즘을 사용했습니다.
- 암호화 추출 도구 없이는 이진 형식을 육안으로 검사할 수 없습니다.
흥미로운 기술적 상식
- 파일 확장자 '.p12'와 '.pfx'는 100% 상호 호환되며 정확히 동일한 형식을 나타냅니다.
- Apple iOS 개발자 인증서 및 프로비저닝 프로필은 iPhone 앱 서명을 위해 .p12 파일로 배포됩니다.
- OpenSSL 3.0은 레거시 PKCS#12 알고리즘(RC2-40-CBC)을 더 이상 사용하지 않으며, 구형 P12 파일을 열려면 '-legacy' 플래그가 필요합니다.
자주 묻는 기술 질문
.p12와 .pfx의 차이점은 무엇인가요?
차이점이 없습니다. .pfx는 Microsoft의 이전 형식으로, RSA Laboratories에서 PKCS #12(.p12)로 표준화했습니다. 오늘날 두 확장자는 정확히 동일한 형식을 의미합니다.
.p12 파일에서 개인 키를 어떻게 추출할 수 있나요?
웹 브라우저에서 바로 File2File.app을 사용하여 몇 초 만에 개인 키와 공개 인증서를 깔끔한 .pem 파일로 추출할 수 있습니다.
P12 파일에 비밀번호가 필요한 이유는 무엇인가요?
P12 파일에는 민감한 개인 키가 포함되어 있으므로, 권한이 없는 사람이 디지털 신원을 도용하지 못하도록 비밀번호로 암호화됩니다.