小编neu*_*ere的帖子

由于错误而使用Java API错误创建pkcs12:java.security.KeyStoreException:不支持TrustedCertEntry

我正在尝试使用Java API创建PKCS12密钥库文件.但是,一旦我尝试导入证书,我就会得到异常

java.security.KeyStoreException: TrustedCertEntry not supported
Run Code Online (Sandbox Code Playgroud)

我的代码是:

Provider p = Security.getProvider(BouncyCastleProvider.PROVIDER_NAME);
...
KeyStore keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(null, keystorePass);

keyStore.setCertificateEntry("certificate", certificate);

keyStore.setKeyEntry("key",privateKey, keypass, certChain);
Run Code Online (Sandbox Code Playgroud)

相同的方法适用于创建JKS文件但对于PKCS12文件失败.

注意:作为输入提供给该程序的证书是由服务器使用使用此处使用的相同私钥生成的CSR创建的.即给定证书的公共模数,用于生成它的CSR和给定的私钥是相同的.

服务器证书存储在变量certChain中.

注意:我已经尝试过OpenSSL来创建pkcs12并且我很成功,但是我需要使用Java API来做同样的事情.

注意:我使用的是JDK 7

java ssl keytool pkcs#12

4
推荐指数
1
解决办法
9403
查看次数

标签 统计

java ×1

keytool ×1

pkcs#12 ×1

ssl ×1