避免反复试验,我想列出哪些TLS / SSL协议可用于系统(以跨平台方式)。
Python ssl
模块提供常量,例如:
ssl.PROTOCOL_SSLv2
但是这些并没有说明系统在连接服务器时实际支持的内容。
此外,有没有办法从SSLContext
获得将使用的支持协议?
例如,使用ssl.create_default_contex()
时禁用SSLv2和SSLv3,是否可以以某种方式解析SSLContext.options
以列出支持的 协议?
编辑:
例如,在最新的Debian TLSv1被禁用且连接到仅限TLSv1的主机将失败,但ssl.PROTOCOL_TLSv1
仍然可用,并且还可以创建ssl.SSLContext(ssl.PROTOCOL_TLSv1)
。