【发布时间】:2026-02-04 06:40:01
【问题描述】:
我有 .pem 格式文件形式的客户端公共证书和私钥文件。
你们中的任何人都可以帮助我如何使用 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());
}
【问题讨论】:
-
尝试在您的问题中添加一些代码。
-
嗨 syed,我希望实现上述功能。你能帮我写代码来实现这个要求吗?
-
您好 Vinod,您可以使用此链接*.com/a/22298627/1345224
-
我不想使用任何命令行选项来生成
标签: java ssl ssl-certificate pkcs#12