这来自python2.7.12的ssl.py文件。

context = SSLContext(PROTOCOL_SSLv23)

# SSLv2 considered harmful.
context.options |= OP_NO_SSLv2

# SSLv3 has problematic security and is only required for really old
# clients such as IE6 on Windows XP
context.options |= OP_NO_SSLv3


我不确定该怎么读,有人可以阐明这是什么意思吗?这是否意味着支持SSLv2和SSLv3以外的任何协议?

同样,如果以这种方式设置上下文导致无法在客户端和服务器之间建立通信,并且仅使用SSLContext(PROTOCOL_SSLv23)设置上下文并且不更新上下文,则选项会成功建立通信,这是否意味着服务器仅支持SSLv2和SSLv3?有没有更简单的方法来找出服务器支持哪些协议?我正在尝试运行openssl ciphers命令,但无法理解它。

感谢您的帮助。

最佳答案

我不确定该怎么读,有人可以阐明一下
  这表示?是否表示支持SSLv2以外的任何协议
  和SSLv3?


这意味着阻止对SSLv2和SSLv3的支持

|=是按位运算符,您可以将其视为+=


  有没有更简单的方法来找出服务器支持哪些协议?


有很多命令行实用程序可以帮助您解决此问题。在超级用户处,他们对https://superuser.com/questions/109213/how-do-i-list-the-ssl-tls-cipher-suites-a-particular-website-offers处的几个选项有一个很好的总结

10-06 11:19