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が自動的に処理されます。
双方向変換
1つのAPIでPEMへのエンコードとPEMからのデコードが可能。
標準形式
RFC 7468準拠のPEM出力を生成します。
旧来のアプローチ
手動Base64+ヘッダー
モダンなアプローチ
PEM API
JDKバージョン
25
難易度
上級
JDKサポート
PEMエンコード・デコード
プレビュー
JDK 25(JEP 470)でプレビュー。--enable-previewが必要
仕組み
PEM APIは証明書・鍵などの暗号オブジェクトをPEM形式で標準的にエンコード・デコードする手段を提供します。BEGIN/ENDヘッダー付きのBase64を手動で組み立てる必要はもうありません。
関連ドキュメント