java客户端应用程序 session 恢复

标签 java ssl java-client

我正在使用 TLS 连接从 Java 客户端应用程序向服务器发出大量调用。为了避免 TLS 握手开销,我想使用 session ID 恢复 session ,类似于 Web 浏览器所做的。我目前正在使用 HttpsURLConenction 对象建立每个请求。

这在 Java 中是如何实现的?我在寻找什么 API?

最佳答案

为了解决这个问题,我使用了 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()); ... //多次调用 CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();

关于java客户端应用程序 session 恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32908873/

相关文章:

php - 验证node.js中的php证书

java - 用于具有基本身份验证的 SOAP wsdl 的 AXIS2 Java 客户端

Java:是否需要在 Web 应用程序中使用同步网关来与 couchbase 服务器通信?

java - 并发 - 以线程安全的方式获取通过 Java 插入的对象的 MongoDB 生成 ID

java - 安装更新 SSL 证书会破坏 Java Web 集成吗?

java - 使用 Maven 和 Java 11 通过 SSL 进行 HTTP Get 请求

scala - 使用 AWS S3 Java 客户端获取目录和对象元数据

java - JFreeChart是否支持三维图表

java - java中如何从目录中顺序读取文件?

JavaFX 制作自定义组件的可滚动列表