2
我已經創建了一個帶有Java代碼的自簽名證書並添加到KeyStore中。現在我想將創建的私鑰和證書導出爲PEM格式的文件。沒有任何第三方庫可以實現這一點嗎?以下是我用於創建自簽證書的代碼。以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格式文件的建議將非常有幫助。
實際上沒有單一的「PEM」格式。當用base64編碼並且用'----- BEGIN'和'----- END '圍繞時,有各種不同的密碼結構被描述爲「PEM格式」。你需要明確你想要哪一個。 –
除了使用一些不屬於J2SE API的內部'sun。*'軟件包,您應該考慮使用第三方庫。 – Bruno