【发布时间】:2011-09-04 06:14:23
【问题描述】:
我使用 Python 的 urllib2.urlopen 与 HTTPS 服务器通信,但我现在在 documentation 上了解到“HTTPS 请求 [使用 urllib2.urlopen] 不会对服务器的证书进行任何验证。”
这对我来说是个大问题,因为它让我的服务器容易受到 MITM 攻击。
我想要一个直接替换 urllib2.urlopen 来进行证书验证,所以我可以将它与我的代码捆绑在一起,并将所有对 urllib2.urlopen 的调用替换为对修改后的 urlopen 函数的调用。
因为这是一个安全问题,我更喜欢经过实战考验的安全审核代码,而不是来自互联网的一些随机配方。
【问题讨论】:
-
上述链接到的问题在其中一个答案中有一个插入式 urllib2 组件。
-
urllib2_ssl.py允许您为urllib2.urlopen()启用证书验证 -
默认情况下,从 Python 2.7.9 / 3.4.3 开始执行证书验证。见python.org/dev/peps/pep-0476
标签: python ssl https certificate