我有.pem格式文件形式的客户端公用证书和私钥文件。如何使用java程序创建带客户端公共证书和私钥的PKCS#12格式文件
你们中的任何人都可以帮助我如何使用java程序创建带有这些文件的PKCS#12格式文件。
在这里,我已经加了我的代码
Path path = Paths.get(new File("User_privkey.pem").getAbsolutePath());
Path certPath = Paths.get(new File("User.pem").getAbsolutePath());
try {
// Used to read User_privkey.pem file to get private key
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(Files.readAllBytes(path));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privateKey = keyFactory.generatePrivate(spec);
// Used to read user certificate
CertificateFactory factory = CertificateFactory.getInstance("X.509");
Certificate cert = factory.generateCertificate(Files.newInputStream(certPath, null));
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
// add it to the keystore
ks.setKeyEntry("MyPKCSEntry", privateKey, "Temp".toCharArray(), new Certificate[] { cert });
File file = new File("CERTIFICATE_CUSTOMPATH");
OutputStream out = new FileOutputStream(file);
ks.store(out, "Temp".toCharArray());
out.close();
} catch (Exception e) {
System.out.println("Exception got caught" + e.getMessage());
}
尝试一些代码添加到您的问题。 – Seeker
的[从PEM转换证书到JKS]可能的复制( http://stackoverflow.com/questions/22296312/convert-certificate-from-pem-into-jks) – Keith
嗨syed,我期待实现上述功能。你能帮我用代码来实现这个要求吗 –