PEM 인코딩/디코딩
PEM 형식의 암호화 객체를 네이티브로 인코딩하고 디코딩합니다.
코드 비교
✕ Java 8
String pem = "-----BEGIN CERTIFICATE-----\n"
+ Base64.getMimeEncoder()
.encodeToString(
cert.getEncoded())
+ "\n-----END CERTIFICATE-----";
✓ Java 25 (Preview)
// Encode to PEM
String pem = PEMEncoder.of()
.encodeToString(cert);
// Decode from PEM
var cert = PEMDecoder.of()
.decode(pemString);
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
수동 Base64 없음
PEM 헤더, 줄 바꿈, Base64가 자동으로 처리됩니다.
양방향
하나의 API로 PEM으로 인코딩하고 PEM에서 디코딩합니다.
표준 형식
RFC 7468 호환 PEM 출력을 생성합니다.
이전 방식
수동 Base64 + 헤더
모던 방식
PEM API
JDK 버전
25
난이도
고급
JDK 지원
PEM 인코딩/디코딩
프리뷰
JDK 25에서 프리뷰 (JEP 470). --enable-preview가 필요합니다.
동작 원리
PEM API는 인증서, 키, 기타 암호화 객체에 대한 표준 인코딩/디코딩을 제공합니다. 더 이상 수동 Base64 처리나 헤더 형식 지정이 필요 없습니다.
관련 문서