Netty 如果服务器正在使用SslHandler,而客户端未使用,则不会对写入做出响应

Netty 如果服务器正在使用SslHandler,而客户端未使用,则不会对写入做出响应,netty,Netty,如果客户端使用SslHandler,而服务器不使用SslHandler,我似乎得到了相反的结果。afacit,我在通道的一侧调用handshake(),然后什么也没发生。我假设,w/SSL端正在等待握手响应,因此写入请求没有得到处理,每个人都在等待其他人 理想情况下,我希望得到某种错误或通道关闭,这意味着存在不匹配,因此我可以在客户机上抛出适当的错误,以便他们可以适当地启用或禁用SSL 有人知道发生了什么事,或者对如何处理这件事有什么建议吗 编辑:进一步研究后,在SslHandler的解码方法中

如果客户端使用SslHandler,而服务器不使用SslHandler,我似乎得到了相反的结果。afacit,我在通道的一侧调用handshake(),然后什么也没发生。我假设,w/SSL端正在等待握手响应,因此写入请求没有得到处理,每个人都在等待其他人

理想情况下,我希望得到某种错误或通道关闭,这意味着存在不匹配,因此我可以在客户机上抛出适当的错误,以便他们可以适当地启用或禁用SSL

有人知道发生了什么事,或者对如何处理这件事有什么建议吗

编辑:进一步研究后,在SslHandler的解码方法中,要编码的非SSL有效负载恰好看起来像SSLv2,它的主要版本是=8。因此,SslHandler并没有对响应犹豫不决,因为它看起来是一个有效的响应,但事实并非如此。握手看起来无效,状态仍然为“需要展开”,然后一方等待其原始请求,另一方等待其可以理解的握手响应。如果在检测SSLv2的块中,我强制主版本为2或3,我会得到一个SSL异常,声称它不是SSL/TLS记录,这是真的。我不知道这是否是一个正确的修复,或者只是一些意外地让我得到正确的行为


我应该指出,这似乎只解决了SslHandler在服务器上是活动的情况,而不是在客户端。相反,它似乎仍然挂在SslHandler中从未调用过decode的位置。

我发现它似乎描述了我看到的问题,但它标记为“已解决”,但我仍然在Netty 3.2.7上看到(我认为)相同的行为。感谢您报告错误。您能在我们的问题跟踪程序中提交一个问题,这样我们就不会错过它吗?报告如下。谢谢