PEM 인증서 (.pem)
IETF 표준Privacy-Enhanced Mail (PEM)은 암호화 자산을 위한 범용 가독 텍스트 표준으로, 바이너리 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
기술 사양
| 컨테이너 아키텍처 | '-----BEGIN [LABEL]-----'와 '-----END [LABEL]-----' 사이에 DER 바이너리 구조를 담은 Base64 ASCII 아머드 컨테이너 |
| 압축 | 압축되지 않은 텍스트 형식 |
| 바이트 엔디안 | ASCII / UTF-8 텍스트 스트림 |
| 색 공간 | 해당 없음(암호화 컨테이너) |
| 채널 및 구조 | 인증서, 개인 키(RSA/EC/DSA), CSR, 공개 키 및 인증서 해지 목록 |
| 최대 크기 | 길이 제한 없는 텍스트 스트림(여러 인증서를 연결하여 지원) |
| 투명도 | 평문 ASCII 아머드 엔벌로프 |
| 스트리밍 및 프로그레시브 | 배너별 순차 스트리밍 추출 |
기술 비교 매트릭스: 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.app 인증서 도구를 사용하여 표준 5개 대시 헤더 배너를 복원하십시오.
보안 분석 및 파서 공격 벡터
PEM 파일에는 노출될 경우 완전한 서버 액세스 권한을 부여하는 암호화되지 않은 개인 키('-----BEGIN RSA PRIVATE KEY-----')가 포함되는 경우가 많습니다.
알려진 공격 벡터
- 암호화되지 않은 PEM 개인 키를 공개 버전 제어 리포지토리에 커밋.
- 로컬 파일 포함(LFI)을 통해 서버 PEM 키를 읽는 디렉터리 순회 공격.
- 암호화된 개인 키 PEM 파일의 취약한 암호 문구.
방어적 모범 사례: 엄격한 파일 시스템 권한(chmod 600)으로 개인 키 PEM 파일을 보호하고 절대 git에 커밋하지 마십시오.
역사적 배경 및 주요 이력
주요 장점
- 사람이 읽을 수 있고 복사-붙여넣기 가능: 웹 폼, 클라우드 콘솔 입력(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 텍스트 파일로 변환하면 관리자가 보안 키를 쉽게 읽고 웹 서버 및 애플리케이션 구성에 붙여넣을 수 있습니다.