java - 在 Java 中使用没有密码的 p12 文件

标签 java ssl-certificate

尽我所能,我无法弄清楚如何在 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(不过我没试过):

open­ssl pkcs12 -in cert.p12 -out temp.pem -passin pass: -passout pass:temppassword
open­ssl pkcs12 -export -in temp.pem -out cert-final.p12 -passin pass:temppassword -passout pass:newpa­ssword
rm -f temp.pem

另见 this related question .

关于java - 在 Java 中使用没有密码的 p12 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20904657/

相关文章:

java - 如何从 Redis 缓存中获取自定义值?

java - Stringtemplate 比较字符串不起作用

SSL 证书 : how to setup CA to deal with certificate chain?

python - 调用 JenkinsAPI(https) 挂起

java - orientdb使用Index.get()查询复合索引

java - 我之前问过一个关于数组的问题,但是这个无法编译

java - 安卓默认屏幕方向

java - 如何实现相互 TLS 身份验证的 JUnit 测试?

java - 如何使 web 应用程序可以从 java 中的 https 访问

java - 如何通过 Android 访问 SSL 连接?