我将Jetty服务器嵌入到我的应用程序中。在我的应用程序中,我可以读取通过读取javax.servlet.request.cipher_suite
请求属性协商的密码套件。现在,我要检查我的客户端是否使用TLSv1.0,TLSv.1.1或TLSv.1.2。如果启用SSL调试,则可以在控制台上看到它:
qtp2819825-43, WRITE: TLSv1.2 Application Data, length = 8038
但是,我该如何阅读呢handler()
?
我研究了org.eclipse.jetty.server.Request
和javax.servlet.http.HttpServletRequest
。有getProtocol()
方法,但返回HTTP/1.1
。
从Jetty 9.3,我可以通过以下方式读取TLS版本:
SSLSession sslSession = (SSLSession)request.getAttribute("org.eclipse.jetty.servlet.request.ssl_session");
if (sslSession == null)
env.set("SSL_PROTOCOL_VERSION", "NULL");
else
env.set("SSL_PROTOCOL_VERSION", sslSession.getProtocol());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句