我是SSL和安全新手,我想为使用SSL的Web服务构建一个java客户端。服务器已正确配置为使用双向ssl配置,但如何构建客户端..
如果春天有任何东西,这将是好的..
提前谢谢
答案 0 :(得分:0)
您不必对客户端做任何特殊处理,只需在您的请求上使用HTTPS而不是HTTP。
答案 1 :(得分:0)
要使工作正常,您必须创建客户端密钥库和信任库,然后使用这些存储定义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?也许有用。