在Windows 7上信任java 7的自签名证书

时间:2013-03-22 10:07:48

标签: java windows ssl ssl-certificate

我正在尝试在java 7中使用HttpsURLConnection(在Windows 7上)连接到远程Web服务器并发送一个帖子请求。一切似乎都有效,除了它不信任证书(它是自签名的)。

我已通过chrome导出证书,然后将证书导入密钥库:

keytool -import -file mysslcertificate.cer

如果我运行keytool -list,证书就在那里。

当我尝试在导入证书后运行它(使用gradle或eclipse)时,我得到了这个例外:

  

javax.net.ssl.SSLHandshakeException:   sun.security.validator.ValidatorException:PKIX路径构建失败:   sun.security.provider.certpath.SunCertPathBuilderException:无法   找到所请求目标的有效证书路径

     

引起:sun.security.validator.ValidatorException:PKIX路径   建筑失败:   sun.security.provider.certpath.SunCertPathBuilderException:无法   找到所请求目标的有效证书路径

     

引起:sun.security.provider.certpath.SunCertPathBuilderException:   无法找到所请求目标的有效证书路径

任何人都有任何提示吗?

1 个答案:

答案 0 :(得分:2)

最有可能的是,Java没有使用导入证书的密钥库。要告诉Java在哪里可以找到密钥库,请使用以下命令行参数:

java -Djavax.net.ssl.trustStore=<path to keystore file> -Djavax.net.ssl.trustStorePassword=<keystore password>

Eclipse和Gradle可能具有特定设置以将密钥库位置转发到Java。

另见: