我有一个客户端(浏览器)可以发出请求的Servlet。我想知道哪个SSL协议版本用于此请求,例如我的servlet中的SSL / TLS / TLS 1.1 / TLS 1.2。任何人都可以指导我完成这个。
我使用的是Java 8,Tomcat 8.5.9。
提前致谢
答案 0 :(得分:0)
根据source code,Tomcat将此信息存储在请求属性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无法向您提供所需的信息。