java – Soap SSL握手
发布时间:2020-12-15 02:34:41 所属栏目:Java 来源:网络整理
导读:我的客户端通过HTTP成功获得服务器的响应. SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance();SOAPConnection connection = sfc.createConnection();SOAPMessage soapMessageResponse = connection.call(soapRequest,new URL(serviceLocatio
我的客户端通过HTTP成功获得服务器的响应.
SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); SOAPMessage soapMessageResponse = connection.call(soapRequest,new URL(serviceLocation)); 我想要客户端/服务器之间的SSL通信. 在另一个项目中,我从KeyStore和TrustManagerFactory成功创建SSLSocketFactory以进行SSL握手. 如何在Web服务客户端中使用SSLSocketFactory代码使客户端SSL通信成功调用服务器. 解决方法
我很确定它会使用默认的SSLContext.您可以使用SSLContext.setDefault()更改它.
SSLContext c = SSLContext.getInstance("SSL"); TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(yourKeystore); TrustManager tm = tmf.getTrustManagers()[0]; tm. c.init(null,tm,null); 以下是字符串参数的一些other values. 如果需要更完整的控制,可以实现自己的SSLContext子类,它返回自己的SSLSocketFactory实现,并将SSLContext设置为默认值: public class MySSLContext extends SSLContext { private SSLContext wrapped; private SSLSocketFactory mySocketFactory; public MySSLContext(SSLContext toWrap,SSLSocketFactory mySocketFactory) { wrapped = toWrap; this.mySocketFactory = mySocketFactory; } public SSLSocketFactory getSocketFactory() { return mySocketFactory; } public SSLSessionContext getClientSessionContext() { return wrapped; } // other delegates } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |