确定SSL包使用的默认协议版本?

时间:2016-10-04 22:11:38

标签: python ssl python-requests pyopenssl

在python中,默认情况下,如何确定SSL包或请求使用哪种SSL或TLS协议。

如TLSv1 vs SSLv3。

1 个答案:

答案 0 :(得分:0)

Python文档的SSL socket creation部分包含有关SSL包的信息:

  

参数ssl_version指定SSL的版本   要使用的协议。通常,服务器选择特定协议   版本,客户端必须适应服务器的选择。大部分的   版本不能与其他版本互操作。如果不   指定,默认为   PROTOCOL_SSLv23   它提供与其他版本最兼容。

     

这是一个表格,显示客户端(侧面)的哪些版本可以   连接到服务器中的哪些版本(在顶部):

| client / server | SSLv2 | SSLv3 | SSLv23 | TLSv1 | TLSv1.1 | TLSv1.2 |
|-----------------|-------|-------|--------|-------|---------|---------|
| SSLv2           | yes   | no    | yes    | no    | no      | no      |
| SSLv3           | no    | yes   | yes    | no    | no      | no      |
| SSLv23          | no    | yes   | yes    | yes   | yes     | yes     |
| TLSv1           | no    | no    | yes    | yes   | no      | no      |
| TLSv1.1         | no    | no    | yes    | no    | yes     | no      |
| TLSv1.2         | no    | no    | yes    | no    | no      | yes     |
     
    

注意:

         

哪些连接成功取决于版本     OpenSSL的。例如,在OpenSSL 1.0.0之前,SSLv23客户端会     总是尝试SSLv2连接。