使用Java生成PKCS12文件

5
我需要使用Java生成PKCS12文件。 实际上,我需要使用openssl自动化以下证书生成过程(之前创建了ca,不打算自动化其创建):
openssl genrsa -out client.key 2048 openssl req -new -key client.key -out client.csr openssl ca -keyfile ca.key -cert ca.crt -out client.crt -policy policy_anything -infiles client.csr openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12 -name client
我想知道是否可以在不使用Bouncycastle或类似库的情况下执行此操作,仅使用JCE,因为我没有找到与PKCS12生成相关的任何信息。
2个回答

5
创建PKCS#12很容易 - 只需编写KeyStore "PKCS12"实例,添加证书和密钥,然后使用store(...)方法将其保存到文件中即可。其他方面有些棘手。

感谢您的回答,Robert。问题在于我没有使用密钥库。我只是通过在网站上注册而创建了此pkcs证书,以控制新用户对其他URL的访问权限。因此,我需要重现已注释的openssl命令,仅创建一个pkcs,而不是使用密钥库。 - vwfziwl
2
从Java的角度来看,PKCS#12文件是一个KeyStore。Java包含许多KeyStore实现,如PKCS#12和JKS。两者的访问方式完全相同 - 只需使用java.security.KeyStore.getInstance("PKCS12");即可。 - Robert

2

创建密钥对和证书没有问题,但是JCE没有签名的API(这是绝对的,我花了很多时间搜索它)。Bouncycastle库是一个正确的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接