java - 可以在 Java 中基于 JSSE 的 SSL 套接字上并行执行读/写吗?

标签 java multithreading ssl openssl

最常用的 SSL 的“C”实现 (OpenSSL) 不支持对其 SSL session 的并行操作。 (即您不能为同一 session 并行执行 SSL_read 和 SSL_write)。

Java bases SSL, JSSE 是否支持此功能?即对于使用 JSSE 创建的同一个 SSL session ,我可以在不同线程上并行读取和写入吗?如果是,它是否也无缝处理重新协商(即,如果从另一方收到重新协商请求,是否会处理?)

由于我对 Java 知之甚少或一无所知,我还有另一个非常基本的问题,是否可以在 Java 中为同一个套接字从不同线程并行读取/写入?

最佳答案

是的,SSLSockets和Sockets可以被单独的线程读写;是的,SSLSocket 可以无缝地处理重新协商。

您对“ session ”的使用不太正确。每个 SSL session 可以有多个 SSLSockets(和 openSSL 套接字)。在 Java 中,它们都可以独立使用。

关于java - 可以在 Java 中基于 JSSE 的 SSL 套接字上并行执行读/写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3792187/

相关文章:

java - OSGi Felix 和 BndTools - 按名称加载类

c# - 连接池使用相同的错误连接字符串向两个线程返回相同的异常实例?

Apache 反向代理 : handle SSLCertificateFile on proxy and SSLCACertificateFile on proxyed host

perl - WWW::Mechanize::PhantomJS 无法获取 HTTPS 页面

java - 在 JVM 之上运行/解释 C?

java - 找不到有关 DocuSign 高级签名功能的文档

android - 线程和处理程序的区别

ios - 如何在应用程序在后台运行时监听锁定/解锁电话事件?

php - Telegram webhook 不传递任何数据(ssl 可以)

java - 在java elasticsearch中获取价格范围在最小值和最大值之间的数据