尽我所能,我无法弄清楚如何在 Java 中使用没有密码的 .p12 文件。我已经尝试将 javax.net.ssl.keyStorePassword
设置为 ""
但无论我做什么,我都会收到以下 SSL 错误:
HTTP transport error: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
我所有的谷歌搜索都表明 sun 实现不允许空密码,当然 keytool 不会让您导入任何没有商店密码的证书。
最佳答案
Sun API 似乎需要密码,因此您需要将密码添加到您的 .p12
文件中。
This page表示您可以使用 openssl
将 .p12
转换为 .pem
,然后再转换回 .p12
(不过我没试过):
openssl pkcs12 -in cert.p12 -out temp.pem -passin pass: -passout pass:temppassword
openssl pkcs12 -export -in temp.pem -out cert-final.p12 -passin pass:temppassword -passout pass:newpassword
rm -f temp.pem
关于java - 在 Java 中使用没有密码的 p12 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20904657/