作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如何使用 javax.xml.ws.Service
在 JAX-WS 客户端中禁用证书验证?
我尝试在 SSLSocketFactory 中创建一个全信任的 TrustManager 并尝试将它与 BindingProvider 绑定(bind)
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
Map<String, Object> ctxt = ((BindingProvider) wsport ).getRequestContext();
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sc.getSocketFactory());
但我仍然收到异常:无法找到请求目标的有效证书路径
但是当我只使用它时它会起作用
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
或者有没有办法让 javax.xml.ws.Service
使用我创建的 HttpsURLConnection
?
最佳答案
我在这里找到了解决方案: http://schrepfler.blogspot.com.br/2009/06/relaxing-ssl-validation-for-jaxws.html
我正在使用该解决方案在主类的静态 block 上调用两个静态方法,如下所示:
static {
SSLUtilities.trustAllHostnames();
SSLUtilities.trustAllHttpsCertificates();
}
希望对你有帮助
编辑:正如 David J. Liszewski 指出的那样,这会破坏来自该 JVM 的所有连接的 SSL/TLS。所以,请记住这一点。
关于java - 如何在 JAX-WS 客户端中禁用证书验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12473576/
我是一名优秀的程序员,十分优秀!