1

我正在访问网络服务。当我在浏览器中访问 Web 服务的 URL 时,证书已签名并自动被接受。

我不明白的是,当我使用 Java 访问 Web 服务时,我会得到以下内容:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我想这意味着证书没有签名,但确实如此。

不会com.sun.net.ssl.internal.ssl自动去证书颁发机构并检查证书是否已签名?如果没有,我是否需要另外设置一些东西才能做到这一点?

4

2 回答 2

3

除了签名之外,还有更多的检查。除其他事项外,必须验证生成签名的证书颁发机构。Java 的受信任证书颁发机构列表与您的浏览器不同。您可能需要使用浏览器下载 CA 证书并使用 Java 的 keytool 进行安装。

于 2012-10-04T11:08:39.510 回答
1

您要连接的 Web 服务器或 URL 似乎没有来自授权 CA 的有效证书。要解决此问题,请参阅此替代解决方案

于 2012-10-04T11:07:32.143 回答