【发布时间】:2014-07-21 10:07:40
【问题描述】:
我是 SSL 和安全的新手,我想为使用 SSL 的 Web 服务构建一个 Java 客户端。服务器已正确配置为使用两种方式的 ssl 配置,但是如何构建客户端..
如果春天有这方面的东西会很好..
提前谢谢
【问题讨论】:
标签: java ssl webservice-client
我是 SSL 和安全的新手,我想为使用 SSL 的 Web 服务构建一个 Java 客户端。服务器已正确配置为使用两种方式的 ssl 配置,但是如何构建客户端..
如果春天有这方面的东西会很好..
提前谢谢
【问题讨论】:
标签: java ssl webservice-client
您不必对客户端做任何特别的事情,只需对您的请求使用 HTTPS 而不是 HTTP。
【讨论】:
SSLSocketFactory 实例。
为了让事情正常工作,你必须创建一个客户端密钥库和信任库,然后用这些存储定义 SSLContext,然后实例化 SSLSocketFactory 以生成如下所示的 SSLSocket:
SSLContext sslcontext = SSLContexts.createDefault();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
sslcontext, SSLConnectionSocketFactory.STRICT_HOSTNAME_VERIFIER);
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(sslsf)
.build();
HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
您应该阅读此http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html 以了解其工作原理。
这个问题how to write java client and server applications that uses mutual ssl authentication between them? 也可能有用。
【讨论】: