我有一个客户端(浏览器)可以向其发出请求的Servlet。我想知道此请求使用的SSL协议版本,如Servlet中的SSL / TLS / TLS 1.1 / TLS 1.2。有人能指导我完成此操作吗?我使用的是Java 8,Tomcat 8.5.9。先谢谢你
erhoui1w1#
根据源代码(如果链接没有将您带到正确的位置,则搜索populateSslRequestAttributes),Tomcat将此信息存储在请求属性javax.servlet.request.cipher_suite和org.apache.tomcat.util.net.secure_protocol_version中。
populateSslRequestAttributes
javax.servlet.request.cipher_suite
org.apache.tomcat.util.net.secure_protocol_version
public void doGet(HttpServletRequest request, HttpServletResponse response) { String cipherSuite = request.getAttribute("javax.servlet.request.cipher_suite"); String protocolVersion = request.getAttribute("org.apache.tomcat.util.net.secure_protocol_version"); ... }
要知道,这其中有一部分与Tomcat的配置方式有关。例如,我经常将Apache放在Tomcat前面,并从Apache到Tomcat有一个非SSL连接。在这种情况下,Tomcat将无法为您提供所需的信息。
1条答案
按热度按时间erhoui1w1#
根据源代码(如果链接没有将您带到正确的位置,则搜索
populateSslRequestAttributes
),Tomcat将此信息存储在请求属性javax.servlet.request.cipher_suite
和org.apache.tomcat.util.net.secure_protocol_version
中。要知道,这其中有一部分与Tomcat的配置方式有关。例如,我经常将Apache放在Tomcat前面,并从Apache到Tomcat有一个非SSL连接。在这种情况下,Tomcat将无法为您提供所需的信息。