【问题标题】:Trusting self signed certificate for java 7 on windows 7在 Windows 7 上信任 Java 7 的自签名证书
【发布时间】:2013-03-12 03:35:26
【问题描述】:

我正在尝试使用 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: 无法找到请求目标的有效认证路径

有人有什么建议吗?

【问题讨论】:

    标签: java windows ssl ssl-certificate


    【解决方案1】:

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

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

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

    另见:

    【讨论】:

    • 阿尔姆索特对。我不得不改用 javax.net.ssl.trustStore / javax.net.ssl.trustStorePassword。
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2014-01-07
    • 1970-01-01
    • 2016-09-13
    相关资源
    最近更新 更多