javax.net.ssl.SSLHandshakeException:关于tomcat的sun.security.validator.ValidatorException

时间:2016-03-22 00:20:02

标签: java web-services tomcat servlets ssl

我在一个tomcat服务器(v8)中运行了两个servlet(A和B)。他们俩都需要和第三方界面交流。

A正在使用包含所有凭据信息的keystore.xml(使用Keystore.jar)并调用第三方(A1)jar函数来发送请求并获得响应。

B正在使用第三方(B1)的webservice并将ssl密钥库设置如下。             System.setProperty(" javax.net.ssl.keyStoreType"," JKS");             System.setProperty(" javax.net.ssl.keyStore"," C:\ test.jks");             System.setProperty(" javax.net.ssl.keyStorePassword"," test");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "C:\\test.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "test"); 

我遇到的问题是如果我运行serlvet A然后A会工作但B会有错误" javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun .security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径"。

如果我先运行B,那么B工作正常,但A会有同样的错误。看起来有冲突吗? 我不明白为什么会这样。在重新启动tomcat后,每次在密钥存储文件中丢失证书似乎都没有,因此A或B工作正常。

希望我能清楚地描述我的问题并感谢你的帮助。

0 个答案:

没有答案