Tro*_*ane 34 certificate openssl x509 keystore
有很多关于这个主题的资源,但我发现没有一个能涵盖这个稍微特殊的情况。
我有 4 个文件;
我希望将它们导入一个新的密钥库。
有的站点建议使用DER格式,并一一导入,但由于无法识别密钥而失败。
另一个站点建议使用一个特殊的“ImportKey”类来运行导入,这一直有效,直到我看到链断裂。即证书上的链长为1,忽略中间和ca。
一些网站建议使用 PKCS7,但我什至无法从中获得链条。其他人建议使用 PKCS12 格式,但就我的测试而言,获取整个链也失败了。
非常欢迎任何建议或提示。
小智 54
将所有 *.pem 文件连接成一个 pem 文件,如 all.pem 然后使用私钥 + all.pem 创建 p12 格式的密钥库
openssl pkcs12 -export -inkey private.key -in all.pem -name test -out test.p12
Run Code Online (Sandbox Code Playgroud)
然后将 p12 导出到 jks
keytool -importkeystore -srckeystore test.p12 -srcstoretype pkcs12 -destkeystore test.jks
Run Code Online (Sandbox Code Playgroud)
Aar*_*ley 30
这可能并不完美,但我有一些关于我keytool为您的场景修改的使用说明。
将根或中间 CA 证书导入现有的 Java 密钥库:
keytool -import -trustcacerts -alias root -file ca_geotrust_global.pem -keystore yourkeystore.jks
keytool -import -trustcacerts -alias root -file intermediate_rapidssl.pem -keystore yourkeystore.jks
Run Code Online (Sandbox Code Playgroud)导入前将证书和私钥合并到一个文件中。
cat certificate.pem privatekey.pem > combined.pem
Run Code Online (Sandbox Code Playgroud)
这应该会产生类似于以下格式的文件。
开始证书
...
结束证书 开始
RSA 私钥
...
结束 RSA 私钥
将签名的主证书和密钥导入现有的 Java 密钥库:
keytool -import -trustcacerts -alias yourdomain -file combined.pem -keystore yourkeystore.jks
Run Code Online (Sandbox Code Playgroud)小智 10
如上所述,keytool 不提供从单个(组合)文件导入证书 + 私钥的方法。它运行良好,但只导入了证书,而忽略了私钥。您可以通过以下方式进行检查keytool -list -v -keystore yourkeystore.jks-您的域条目类型是 TrustedCertEntry,而不是 PrivateKeyEntry。
因此,要解决最初的问题,首先应使用 openssl(或类似工具)创建一个 PKCS#12 密钥库,然后使用keytool -importkeystore.
| 归档时间: |
|
| 查看次数: |
159095 次 |
| 最近记录: |