java客户端应用程序会话恢复

时间:2015-10-02 13:58:13

标签: java ssl java-client

我正在使用TLS连接从一个java客户端应用程序到服务器进行多次调用。为了避免TLS握手开销,我想使用会话ID恢复会话,类似于Web浏览器。我目前正在使用HttpsURLConenction对象建立每个请求。

这是如何在Java中完成的?我在寻找什么API?

2 个答案:

答案 0 :(得分:0)

为了解决这个问题,我使用了Apache的HttpClient API而不是HttpsURLConnection。我现在能够保留SSL上下文并进行多次调用,而无需进行完全握手(例如客户端签名操作)。

SSLContext sslcontext = SSLContext.getInstance("TLSv1.2"); sslcontext.init(kmf.getKeyManagers(), tmf.getTrustManagers(),null); sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1.2" }, null, SSLConnectionSocketFactory.getDefaultHostnameVerifier()); ... //called multiple times CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();

答案 1 :(得分:0)

Java已经支持toto 中的会话恢复。你不必在任何一端做任何事情。