我创建了一个 SSL 会话。我想在会话超过超时值时使会话无效。我的问题是我是否需要添加单独的代码来检查会话时间以使会话页面无效,还是该功能会自动处理这个问题?
socket.startHandshake();
sess= socket.getSession()
socket.setSessionTimeout(120);
设置会话超时
setsessiontimeout()
指定 servlet 容器使该会话无效之前客户端请求之间的时间(以秒为单位)。
我怀疑您是否知道 SSL 会话或其超时究竟是什么。我认为您实际上是在谈论由 JSESSIONID 标识的 servlet 会话。它的超时值在 web.xml 中配置。servlet 容器会在超时时自动使会话失效。
当相同的两个对等点之间发生多个连接时,SSL 会话用于减少握手开销。在 SSL 会话上设置超时会导致它在超时后过期,但这仅意味着客户端必须在下次连接时创建一个具有完整握手的新 SSL 会话(因为新连接无法加入过期会话)。例如,这并不意味着他现有的连接会失效,或者他会从 Web 应用程序中注销。
另一方面,如果您的问题确实是关于SSLSessionContext.setSessionTimeout()
,(a)是的,它设置 SSL 会话超时,就像它在 Javadoc 中所说的那样,并且(b)我不明白您为什么要询问 JSSE 中的其他方法来做同样的事情事物。