让pyOpenSSL客户端使用SSL会话恢复

3 投票
2 回答
1963 浏览
提问于 2025-04-16 10:16

我一直在尝试让我的pyOpenSSL客户端在连续发送多个HTTP请求到Tomcat应用服务器时,能够使用TLS/SSL会话恢复,但一直没有成功。我很确定服务器那边没问题,因为我还有其他几个客户端也在进行类似的连接,它们都能成功进行会话恢复。

在第一次连接时,我创建了SSL上下文。然后我只是把这个上下文在后续的连接中重复使用。

# Just do this for the first and then reuse the context for subsequent connections.
ssl_context = SSL.Context(SSL.SSLv23_METHOD)
ssl_context.set_options(SSL.OP_NO_SSLv2)


# Do this for every connection
sock = socket.create_connection((self.host, self.port), self.timeout)
sslconn = SSL.Connection(ssl_context, sock)
sslconn.set_connect_state()
sslconn.do_handshake()

2 个回答

0

pyOpenSSL 目前不支持会话恢复功能。

3

这篇文章介绍了如何在openssl中实现这个功能,也许对pyOpenSSL也适用。不过,这篇文章差不多有十年了,所以现在可能有更简单的方法。

撰写回答