我使用Python的urllib2.urlopen与HTTPS服务器通信,但是现在我在documentation上了解到“HTTPS请求(使用urllib2.urlopen)不对服务器证书进行任何验证。”

这对我来说是个大问题,因为它使我的服务器容易受到MITM攻击。

我想要进行证书验证的urllib2.urlopen的直接替代品,因此我可以将其与我的代码捆绑在一起,并将对urllib2.urlopen的所有调用替换为对修改后的urlopen函数的调用。

因为这是一个安全问题,所以我更喜欢经过战斗验证的安全审计代码,而不是一些来自互联网的随机方法。

最佳答案

幸运的是,情况发生了变化。默认情况下,从Python 2.7.9/3.4.3开始启用证书验证。有关更多详细信息,请参见https://www.python.org/dev/peps/pep-0476/

10-07 22:23