使用Java生成PKCS12文件

vwf*_*iwl 5 java jce pkcs#12

我需要使用Java生成PKCS12文件。实际上,我需要使用openssl自动化以下证书的生成(ca先前已创建,并且不伪装成可自动创建):

openssl genrsa -out client.key 2048

openssl req-新-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-导出-in client.crt -inkey client.key -out client.p12 -name client

我想知道是否可以不使用Bouncycastle或类似的库(仅JCE)来执行此操作,因为我没有找到与PKCS12代相关的任何信息。

Rob*_*ert 5

创建PKCS#12很容易-可以通过编写KeyStore “ PKCS12”实例,添加证书和密钥,然后使用store(...)方法将其保存到文件中来完成。

其余的问题更大。

  • 从Java角度看,PKCS#12文件是KeyStore。Java包含许多KeyStore实现,例如PKCS#12和JKS。两者的访问方式完全相同-只需使用`java.security.KeyStore.getInstance(“ PKCS12”);` (2认同)

kor*_*fey 2

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