理想情况下,我只需要一个简单的SSLSocketChannel
。
我已经有一个组件可以通过普通的 SocketChannel
读取和写入消息,但是对于其中一些连接,我必须通过网络使用 SSL;但是,这些连接上的操作是相同的。
有谁知道免费的 SSLSocketChannel
实现(使用适当的选择器)或类似的东西?我找到了 this ,但选择器不接受它,因为它的供应商不是 SUN。
我通过一个简单的对象将 reading_from/writing_to 网络逻辑与网络数据的插入和检索分离,以便使用 SSLEngine
而不会生气,但实现它真的很棘手正确的,因为我不知道 SSL 协议(protocol)的内部结构......
最佳答案
Jetty 的服务器有一个 NIO SSL 实现:SslSelectorChannelConnector .您可能想查看它以了解其功能的详细信息。
还有一篇来自 O'Reilly 的旧(但不错)文章解释了有关 NIO + SSL 的详细信息以及示例代码。
关于java - SSL 和套接字 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867751/