通过HTTPS的简单Java Web服务客户端

时间:2009-02-19 22:29:17

标签: java xml web-services https

我通过HTTPS Web服务连接到简单的XML并获得安全性异常。我的问题是你是否认为这是Web服务器上的证书的原因,所以我应该与服务器管理员或我的客户端代码应该处理这个问题。我很想知道是否有人遇到并解决了这个问题。是在客户端还是服务器端找到解决方案?以下是例外。

Caused by: sun.security.validator.ValidatorException: Violated path length constraints
at sun.security.validator.SimpleValidator.checkBasicConstraints(SimpleValidator.java:243)
at sun.security.validator.SimpleValidator.checkExtensions(SimpleValidator.java:158)
at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:143)
at sun.security.validator.Validator.validate(Validator.java:202)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(DashoA12275)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(DashoA12275)

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

最好先用openssl

测试客户端
openssl s_client -connect yourserver.com:443

查看手册页以获取更多选项。

使用网络浏览器访问时会发生什么? Firefox应该为您提供有关服务器证书的一些信息。

虽然在客户端证书身份验证后this examples确实显示如何使用自定义SSLSocketFactory,但您似乎并不喜欢。它也可以静态设置 - 如果您无权访问连接。

答案 1 :(得分:0)

从堆栈跟踪中,我猜这是服务器证书的问题(跟踪源自“checkServerTrusted”调用)。您可能希望尝试使用Firefox等Web浏览器连接到URL,以查看是否收到SSL错误以及更多详细信息。