尽管设置了trusr存储库属性,但SunCertPathBuilderException仍然存在

时间:2015-05-05 21:42:57

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

我需要使用一些HTTPS Web服务。要使用证书,我设置(javax.net.ssl) trustStore trustStorePassword keyStore keyStorePassword < / strong>属性通过 System.setProperty

如果我new URL([HTTPS...WSDL]).openStream(),它就有效。所以,我确信信任和密钥库属性都可以(没有设置这些属性,我的例程失败了。)

问题是当我尝试使用该服务时,我得到了着名的

  

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

异常。

任何人都知道我需要做什么? 非常感谢。

1 个答案:

答案 0 :(得分:0)

有三种可能的失败:

  1. 您使用的是自签名证书。
  2. 您的证书已由使用中间证书的公共CA(证书颁发机构)签名,但您的中间证书不会由您的Web服务器提供。
  3. 服务器证书和CA中间证书均由Web服务器提供,但Java信任库不包含根证书。
  4. 要解决最后一步使用: Import CA root cert