PEM 인증서 (.pem)
IETF 표준PEM(Privacy-Enhanced Mail)은 이진 DER 인증서 및 개인 키를 독특한 '-----BEGIN...-----' 배너로 감싼 Base64 텍스트로 인코딩하는, 암호화 자산을 위한 범용 가독성 텍스트 표준입니다.
CRT을(를) PEM(으)로 변환
무료 브라우저 내 CRT-PEM 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PEM 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PEM 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
2D 2D 2D 2D 2D 42 45 47 49 4EASCII 표현: -----BEGIN
표준화: IETF RFC 7468 / RFC 1421
기술 사양
| 컨테이너 아키텍처 | Base64 ASCII armored container bounded by '-----BEGIN [LABEL]-----' and '-----END [LABEL]-----' encapsulating DER binary structures |
| 압축 | Uncompressed text format |
| 바이트 엔디안 | ASCII / UTF-8 text stream |
| 색 공간 | N/A (Cryptographic Container) |
| 채널 및 구조 | Certificates, Private Keys (RSA/EC/DSA), CSRs, Public Keys, and Certificate Revocation Lists |
| 최대 크기 | Unbounded text stream (supports multiple chained certificates) |
| 투명도 | Cleartext ASCII armored envelope |
| 스트리밍 및 프로그레시브 | Sequential banner-by-banner streaming extraction |
기술 비교 매트릭스: PEM 대 경쟁사
| 기술적 속성 | PEM (현재) | DER | P12 | CRT |
|---|---|---|---|---|
| 텍스트 대 바이너리 | 사람이 읽을 수 있는 Base64 텍스트 | 원시 바이너리 바이트만 해당 | 암호화된 바이너리 아카이브 | 일반적으로 Base64 텍스트 |
| 클라우드 및 DevOps 사용 | 100% 범용 표준 (AWS, K8s) | 하드웨어 토큰 / Java | Windows IIS 서버 가져오기 | 웹 서버 구성 |
| 허용되는 내용 | 인증서, 개인 키, 체인, CSR | 단일 인증서 또는 키 | 번들 인증서 + 암호화된 키 | 일반적으로 공개 인증서만 해당 |
| 복사-붙여넣기 가능 | 예 (텍스트 영역에 직접 붙여넣기) | 아니오 (바이너리) | 아니오 (바이너리) | 예 (PEM으로 인코딩된 경우) |
일반적인 손상 모드 및 헥스 복구 가이드
OpenSSL 오류: 'PEM_read_bio: no start line'.
근본 원인: 누락되거나 손상된 '-----BEGIN ...-----' 헤더 배너 또는 Windows CRLF 줄 바꿈 손상.
복구: File2File 인증서 도구를 사용하여 표준 5-대시 헤더 배너를 복원하세요.
보안 분석 및 파서 공격 벡터
PEM 파일에는 노출될 경우 완전한 서버 액세스 권한을 부여하는 암호화되지 않은 개인 키('-----BEGIN RSA PRIVATE KEY-----')가 포함되는 경우가 많습니다.
알려진 공격 벡터
- 암호화되지 않은 PEM 개인 키를 공개 버전 제어 리포지토리에 커밋.
- 로컬 파일 포함(LFI)을 통해 서버 PEM 키를 읽는 디렉터리 순회 공격.
- 암호화된 개인 키 PEM 파일의 취약한 암호 문구.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 사람이 읽을 수 있고 복사-붙여넣기 가능: 웹 폼, 클라우드 콘솔 입력(AWS, GCP), 이메일에 복사해 넣을 수 있습니다.
- OpenSSL, Linux, Docker, Kubernetes 보안 및 클라우드 인프라 전반의 범용 표준.
- 다중 인증서 지원: 블록을 쌓는 방식으로 단일 텍스트 파일에 전체 인증서 신뢰 체인을 저장할 수 있습니다.
기술적 제한 사항 및 단점
- Base64 인코딩 오버헤드로 인해 원시 바이너리 DER보다 약 33% 큼.
- 우발적 손상: 줄 바꿈 변경이나 배너의 누락된 대시(-)로 인해 구문 분석 실패가 발생할 수 있습니다.
- 암호화되지 않은 개인 키 PEM 파일은 유출 시 극도의 보안 위험을 초래합니다.
흥미로운 기술적 상식
- 채택에 실패한 암호화된 이메일 시스템을 위해 만들어졌으나, 그 아스키 아머링은 지구상에서 가장 인기 있는 보안 형식이 되었습니다.
- 모든 유효한 PEM 파일은 다섯 개의 대시 '-----BEGIN'으로 시작합니다.
- 단일 .pem 파일에 여러 'BEGIN CERTIFICATE' 블록을 차례로 붙여넣는 것만으로 전체 SSL 인증서 체인이 생성됩니다.
자주 묻는 기술 질문
.pem 파일란 무엇인가요?
.pem 파일은 보안 인증서, 개인 키 또는 전체 인증서 체인을 '-----BEGIN...-----' 배너가 있는 읽기 쉬운 Base64 형식으로 저장하기 위한 텍스트 기반 형식입니다.
PEM을 P12 또는 PFX로 어떻게 변환하나요?
웹 브라우저에서 바로 File2File.app을 사용하여 한 번의 클릭으로 PEM 인증서와 개인 키를 비밀번호로 보호되는 P12/PFX 파일로 변환할 수 있습니다.
PEM 인증서의 만료일을 어떻게 확인할 수 있나요?
외부 서버로 데이터를 전송하지 않고 File2File.app에서 .pem 파일을 열어 만료일, 발급자 및 도메인 이름을 해독할 수 있습니다.
관련 PEM 변환 쌍
바이너리 CRT 보안 인증서를 Base64로 인코딩된 PEM 텍스트 형식으로 변환하여 Apache, Nginx 및 최신 Linux 웹 서버와 호환되도록 만듭니다.
PEM 텍스트 인증서를 CRT 바이너리 인증서로 변환하여 Apache 서버와 Windows 시스템이 웹 보안 자격 증명을 올바르게 읽을 수 있도록 합니다.
PKCS #12 번들을 PEM 인증서로 변환하여 잠긴 바이너리 아카이브에서 공개키와 개인키를 웹 서버용 일반 텍스트 파일로 추출합니다.
PEM 인증서를 PKCS #12 번들로 변환하면 공개 인증서와 개인 키가 단일 암호 보호 파일로 결합되어 Windows 서버 및 웹 브라우저에 쉽게 설치할 수 있습니다.
DER 바이너리 인증서를 PEM 인증서로 변환하면 인코딩이 원시 바이너리 바이트에서 Base64 ASCII 텍스트로 변경되어 웹 서버와 텍스트 편집기에서 쉽게 읽을 수 있습니다.
바이너리 CER 보안 인증서를 Base64로 인코딩된 PEM 텍스트 파일로 변환하면 관리자가 웹 서버 및 애플리케이션 구성에 보안 키를 쉽게 읽고 붙여넣을 수 있습니다.