如何在Python(2.7)中支持TLS 1.1、1.2?

3

我已经开发了一个Python 2.7应用程序。但它只支持PROTOCOL_TLSv1。我必须想办法使其兼容PROTOCOL_TLSv1_1PROTOCOL_TLSv1_2。我找不到任何库或技巧来做到这一点。需要升级Python版本吗?

请指导我或帮我找到更好的解决方案。有没有什么特别的解决方案?


你使用的是哪个SSL库? - Simon Fraser
@SimonFraser 我很抱歉,我该如何检查呢?我不理解你的问题。 - Waqar Ahmed
你正在做什么来获得TLSv1支持?你安装了“pyopenssl”模块,代码中有import ssl,还是其他什么方法? - Simon Fraser
@SimonFraser 好的,我没有显式地使用 import ssl 或安装 "pyopenssl"。对于通信(请求/响应),我正在使用 requests 2.9.1 库。 - Waqar Ahmed
我认为这可能是你想要的答案:https://dev59.com/Nl4b5IYBdhLWcg3wbREf#29155638,其中包括`SSLContext`以及底部有关于如何使用它的请求文档链接。 - Simon Fraser
显示剩余2条评论
1个回答

4

如果提供了libopenssl1和Python 2.7.9,您可以强制使用ssl.SSLContext,例如:

import ssl, urllib2
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
response = urllib2.urlopen(url, context=ctx).read()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接