我正在通过 HTTPS Web 服务连接到简单的 XML,并收到安全异常。我的问题是,您是否认为造成这种情况的原因是网络服务器上的证书,所以我应该与服务器管理员交谈,或者我的客户端代码是否应该处理这个问题。我很想听听是否有人遇到并解决了这个问题。解决方案是在客户端还是服务器端找到?以下是异常(exception)情况。
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)
感谢您的建议。
最佳答案
可能值得首先使用 openssl 测试客户端
openssl s_client -connect yourserver.com:443
查看手册页以获取更多选项。
当您使用网络浏览器访问它时会发生什么? Firefox 应该为您提供相当多有关服务器证书的信息。
虽然客户端证书认证后看起来不像你 this examples确实向您展示了如何使用自定义 SSLSocketFactory。如果您无权访问连接,也可以静态设置它。
关于java - 通过 HTTPS 的简单 Java Web 服务客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567525/