我已经用Java代码创建了一个自签名的证书,并将其添加到KeyStore中。现在我想将创建的私钥和证书以PEM格式导出到文件中。是否可以在没有任何第三方库的情况下实现这一点?以下是我用于创建自签名证书的代码。
public void createSelfSignedSSLCertificate() {
try {
final CertAndKeyGen keypair = new CertAndKeyGen("RSA", "SHA1WithRSA", null);
final X500Name x500Name =
new X500Name(commonName, organizationalUnit, organization, city, state, country);
keypair.generate(keysize);
final PrivateKey privKey = keypair.getPrivateKey();
final X509Certificate[] chain = new X509Certificate[1];
chain[0] = keypair.getSelfCertificate(x500Name, new Date(), validity * 24 * 60 * 60);
final String alias = JettySSLConfiguration.SSL_CERTIFICATE_ALIAS;
keyStore.setKeyEntry(alias, privKey, keyStorePassword.toCharArray(), chain);
} catch (final Exception e) {
// Handle Exception
}
}
有没有建议如何将密钥和证书以PEM格式导出到文件中的?非常感谢。
-----BEGIN <xyz>
和-----END <xyz>
包围时,就被描述为“PEM格式”。您需要明确指出您想要哪一个。 - President James K. Polksun.*
包,它们并不是 J2SE API 的一部分,你应该考虑使用第三方库。 - Bruno