【问题标题】:MyEclipse not reading imported certificateMyEclipse 不读取导入的证书
【发布时间】:2015-08-10 12:46:44
【问题描述】:

我正在调用具有自签名证书的 Web 服务。

我已使用以下命令将证书添加到我的JAVA_HOME

"%JAVA_HOME%/bin/keytool" -import -alias emoney -file C:\Users\l.young\certificates\srv03.wpay.co.crt -keystore "C:\Program Files\Java\jdk1.8.0_45\jre\lib\security\cacerts"

在此之后,我将以下 2 行添加到我的 myeclipse.ini 文件中

-Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk1.8.0_45\jre\lib\security\cacerts
-Djavax.net.ssl.trustStorePassword=changeit

并设置我在 MyEclipse 中的 tomcat 配置以运行在 %JAVA_HOME% 下而不是在 AppData 下找到的 java

完成所有这些后,我仍然得到以下异常

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我的配置中遗漏了什么?为什么这仍然失败?

编辑 - 问题 别名有区别吗?

编辑 2 使用 SOAPUI 进行测试,它可以工作 - 没有证书问题。有什么建议可以让它在 MyEclipse 中工作吗?

【问题讨论】:

    标签: java web-services ssl ssl-certificate myeclipse


    【解决方案1】:

    为什么你认为在运行 Tomcat 时会使用 myeclipse.ini 中设置的属性?尝试在 Tomcat 的运行配置中设置它们。 Tomcat 在单独的 JVM 中运行。您还可以在运行配置中指定要用于 Tomcat 的 JRE。

    【讨论】:

    • 我已尝试按照您的建议进行操作,但收到相同的错误。
    【解决方案2】:

    其中一个原因可能是 Eclipse 使用了不同的 JRE,试试这个:

    "%JAVA_HOME%/bin/keytool" -import -alias emoney -file C:\Users\l.young\certificates\srv03.wpay.co.crt -keystore "%JAVA_HOME%\jdk1.8.0_45\jre\lib\security\cacerts"
    

    编辑:根据 cmets 中的讨论,最后的手段是忽略证书验证。请注意,这将使您容易受到中间人攻击。 将这两行添加到您的代码中以忽略证书验证:

    SSLUtilities.trustAllHostnames();
    SSLUtilities.trustAllHttpsCertificates();
    

    Source

    【讨论】:

    • %JAVA_HOME%的路径是C:\Program Files\Java\jdk1.8.0_45,MyEclipse上的tomcat使用C:\Program Files\Java\jdk1.8.0_45
    • 另一个原因可能是您使用了错误的证书,如果 Web 服务是 REST Web 服务并且公开可用,您可以通过 Web 浏览器下载证书。
    • 不,它是一个 SOAP 服务。该证书是由我们请求 Web 服务的第三方直接提供的,因此它是 100% 正确的。
    • 您在 myeclipse.ini 中设置的参数仅在使用自定义密钥库时添加,当您使用默认密钥库时,请删除这些参数并重试。
    • 仍然无法正常工作 - 尝试使用 trustStore 和 keyStore。没什么:(
    猜你喜欢
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    相关资源
    最近更新 更多