XZS*_*XZS 12 java ssl nio socketchannel
如何使用TLS 保护Java SocketChannel,ServerSocketChannel或者甚至是a DatagramChannel?
Bru*_*uno 18
您需要使用SSLEngine,如SSLEngine的非阻塞I/O中所述.您提到的库使用它或使用使用它的库.
(请注意,这是非常难以使用的.)
您可能会发现这些链接很有趣:
对于Datagrams,您应该考虑使用DTLS而不是TLS.我不确定它在Java中的实现状态,但你可以深入研究java.openjdk.security.devel邮件列表的档案.
您需要使用SSLEngine并使用该状态机手动进行握手.SSL/TLS是在TCP之上实现的,所以你不能直接在它上面使用它DatagramChannel.
使用Java NIO的文章SSL可能会有所帮助.
正如布鲁诺正确提到的那样,这样做的标准方法是使用 SSLEngine。但是该类非常难以使用。
前段时间我遇到了同样的问题,最终编写了自己的库。那里有一些示例,当然也有像 Netty 等项目内部的代码。但是这两种选择都不是健壮的或易于重用的。
TLS 通道将 SSLEngine 包装在 ByteBuffer 中,并允许像普通的 SocketChannels 一样使用它。
| 归档时间: |
|
| 查看次数: |
14940 次 |
| 最近记录: |