SSL 和套接字通道

2022-09-04 22:38:25

理想情况下,我只需要一个简单的.SSLSocketChannel

我已经有一个组件,可以在普通上读取和写入消息,但是对于其中一些连接,我必须在网络上使用SSL;但是,通过这些连接的操作是相同的。SocketChannel

有谁知道一个免费的实现(使用适当的选择器)或类似的东西?我已经找到了这个,但选择器不接受它,因为它的供应商不是SUN。SSLSocketChannel

我正在通过一个简单的对象将reading_from/writing_to网络逻辑与网络数据的插入和检索分离,以便在不生气的情况下使用a,但是鉴于我不知道SSL协议的内部结构,正确实现这一点真的很棘手......SSLEngine


答案 1

Jetty为他们的服务器提供了一个NIO SSL实现:SslSelectorChannelConnector。您可能想看看它,以获取有关其功能的详细信息。

O'Reilly还有一篇旧(但不错)的文章,解释了有关NIO + SSL的详细信息以及示例代码。


答案 2

TLS Channel是一个简单的库,它正是这样做的:包装SSLContext(或SSLEngine)并公开ByteChannel接口,在内部完成繁重的工作。

(免责声明:我是图书馆的主要作者)。