neu*_*ere 4 java ssl keytool pkcs#12
我正在尝试使用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 7(及更早版本)不允许trustedCertPKCS12密钥库中的条目,尽管8可能,因为PKCS12是设计的,通常仅用于私钥和相关证书以及Java在privateKey条目中放在一起.你说这个证书是针对CERT /匹配的专用密钥,所以它必须先在certChain中的"关键"的条目,你就不会需要它"认证"条目.
| 归档时间: |
|
| 查看次数: |
9403 次 |
| 最近记录: |