首页 文章

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

提问于
浏览
1

我正在尝试在java 7(在Windows 7上)使用HttpsURLConnection连接到远程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 回答

  • 2

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

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

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

    也可以看看:

相关问题