PKCS #12 번들 (.p12)
IETF 표준PKCS #12(P12/PFX)는 개인 키, 인증서 및 관련 데이터를 저장할 수 있는 컨테이너 형식입니다. 파일을 만든 방식에 따라 비밀번호로 보호되거나 암호화되지 않을 수 있습니다.
P12을(를) PEM(으)로 변환
무료 브라우저 내 P12에서 PEM로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 P12 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 P12 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
30ASCII 표현: 0
표준화: IETF RFC 7292 / PKCS #12 v1.1
기술 사양
| 컨테이너 아키텍처 | 개인 키, 인증서 및 CRL이 담긴 SafeBag를 포함하는 비밀번호로 암호화된 ASN.1 PFX 구조 |
| 압축 | 압축되지 않은 암호화 데이터 |
| 바이트 엔디안 | 빅 엔디언 ASN.1 DER |
| 색 공간 | 해당 없음(암호화된 키 저장소) |
| 채널 및 구조 | 개인 키, 공개 인증서, 중간 CA 체인 및 루트 CA 인증서 |
| 최대 크기 | 일반적으로 5 KB - 25 KB |
| 투명도 | 암호화된 컨테이너(비밀번호 보호) |
| 스트리밍 및 프로그레시브 | 암호화된 아카이브의 단위 추출 |
기술 비교 매트릭스: 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.app 인증서 도구를 사용하여 최신 AES-256으로 다시 암호화하십시오.
보안 분석 및 파서 공격 벡터
P12 컨테이너는 중요한 개인 키를 보유하므로, 레거시 암호화 알고리즘을 최신 AES 표준으로 업데이트해야 합니다.
알려진 공격 벡터
- 낮은 반복 횟수를 사용하는 취약하게 암호화된 P12 아카이브에 대한 무차별 대입 비밀번호 공격.
- 구형 P12 파일의 레거시 RC2-40-CBC 취약한 암호 체계 악용.
- 강화되지 않은 메모리 버퍼에서 복호화된 개인 키의 메모리 누수.
방어적 모범 사례: P12 파일에는 항상 강력한 비밀번호를 사용하고 PBKDF2/SHA-256을 적용한 최신 AES-256 암호화를 사용하십시오.
역사적 배경 및 주요 이력
주요 장점
- 올인원 패키징: 개인 키, 공개 인증서, 전체 중간 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 파일에는 민감한 개인 키가 포함되어 있으므로, 권한이 없는 사람이 디지털 신원을 도용하지 못하도록 비밀번호로 암호화됩니다.