Netty可以获得SSLEngine获取close_notify的通知

时间:2011-12-19 04:33:35

标签: ssl netty

我的情况是我的(非netty)客户端正在关闭SSLSocket而不是底层的Socket。这完全符合预期它会向服务器发送close_notify,并以close_notify回复。

但是我的服务器是基于Netty的,并且使用SSLHandler,通过添加LoggingHandler()我可以看到它获取close_notify,并使用close_notify进行响应。问题是我的上游处理程序根本没有得到通知,因为底层Socket没有关闭所以没有断开连接。我特别希望插座保持打开状态。

我需要的是获取SSLHandler已关闭的通知,因此我可以从管道中删除SLLHandler并继续与普通TCP通信。

在Netty中这可能吗?

作为我调查的一部分,我尝试从服务器/网络端关闭SSlHandler,除非Netty在获取客户端close_notify(根据设计和规范)之前关闭sslhandler,否则会工作,麻烦的是任何后续读取当SslHandler关闭时,底层套接字将close_notify作为原始数据获取。如果可能的话,我宁愿不必编写一个处理程序来复制读取SSL消息的SslEngines作业。我理解为什么SSlHandler不等待客户端close_notify回复,这就是为什么我试图从客户端那里进行更多控制SSL套接字的原因。

0 个答案:

没有答案