代码对比
✕ 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 自动处理。
标准格式
符合 RFC 7468 的 PEM 编码。
类型安全
按类型解码——证书、私钥、公钥等。
旧方式
手动 Base64 + 标头
现代方式
PEM API
自 JDK
25
难度
高级
JDK 支持
PEM 编码/解码
预览
JDK 25 预览版(JEP 470)。需要 --enable-preview。
工作原理
PEM API 为证书、密钥、CSR 等提供标准编码/解码。不再需要手动处理 Base64 编码、PEM 标头和行换行。
相关文档