使用 SniHandler 确定客户端与 Netty 服务器协商的 TLS 版本
Determine which TLS version was negotiated by client to a Netty server, with SniHandler
我目前正在开发一个带有 SniHandler 的 Netty 服务器。我想在会话中记录协商的 TLS 版本,但我无法在 SniHandler 或 SniHandler.SslContext.
中找到此信息
我试图从 SniHandler 访问 SslHandler,但我不知道如何启动 SniHandler,如下所示:
p.addLast("sniHandler", new SniHandler(options.domainNameMapping));
我不知道我是否在正确的轨道上。希望有人能给我一些关于检索 TLS 版本表单会话的建议。
谢谢
很抱歉问了一个应该在一个月前解决的类似问题。
Determine which TLS version was negotiated by client to a netty server
此外,这是我想知道的问题的次要方面。
我试图从另一个处理程序中的 ctx 获取上面描述的 sniHandler,代码如下。
SniHandler sniHandler = (SniHandler) ctx.pipeline().get("sniHandler");
对我来说 return 似乎是一个空值,有人知道我错过了什么吗?
谢谢谢谢
一旦 SNI 信息被解析,SniHandler
将被替换为 SslHandler
。因此,您将从 SslHandler
.
中获取信息
类似于:
SslHandler sslHandler = ctx.pipeline().get(SslHandler.class);
SSLEngine engine = sslHandler.engine();
String protocol = engine.getSession().getProtocol();
我目前正在开发一个带有 SniHandler 的 Netty 服务器。我想在会话中记录协商的 TLS 版本,但我无法在 SniHandler 或 SniHandler.SslContext.
中找到此信息我试图从 SniHandler 访问 SslHandler,但我不知道如何启动 SniHandler,如下所示:
p.addLast("sniHandler", new SniHandler(options.domainNameMapping));
我不知道我是否在正确的轨道上。希望有人能给我一些关于检索 TLS 版本表单会话的建议。
谢谢
很抱歉问了一个应该在一个月前解决的类似问题。 Determine which TLS version was negotiated by client to a netty server
此外,这是我想知道的问题的次要方面。 我试图从另一个处理程序中的 ctx 获取上面描述的 sniHandler,代码如下。
SniHandler sniHandler = (SniHandler) ctx.pipeline().get("sniHandler");
对我来说 return 似乎是一个空值,有人知道我错过了什么吗?
谢谢谢谢
一旦 SNI 信息被解析,SniHandler
将被替换为 SslHandler
。因此,您将从 SslHandler
.
类似于:
SslHandler sslHandler = ctx.pipeline().get(SslHandler.class);
SSLEngine engine = sslHandler.engine();
String protocol = engine.getSession().getProtocol();