有没有办法关闭SSL检查,以便在python中使用SOAPpy时不会生成WrongHost异常.
您可以在M2Crypto中禁用所有对等证书检查,如下所示:
from M2Crypto import SSL, httpslib
context = SSL.Context("sslv3")
# Disable certificate checking
context.set_verify(0, depth = 0)
connection = httpslib.HTTPSConnection("somehostname", 443, ssl_context=context)
# Hack (!!!) for disabling host name check <CN> == <expected host name>.
# Will affect any future SSL connections made by M2Crypto!
SSL.Connection.postConnectionCheck = None
connection.connect() # <-- this would normally raise SSL verification errors
connection.request("GET", "/")
...
我希望您知道这将基本上禁用使用M2Crypto创建的任何SSL连接的安全性.所以这根本不值得推荐,除非你只与一台服务器通信,并认为中间人风险比没有加密的HTTP更容易接受.
到目前为止,对于M2Crypto解决方案,但是当你的问题(而不是你的标题)要求SOAPpy(我尚未使用)时,解决方案可能会有所不同,因为SOAPpy配置似乎使用socket模块而不是M2Crypto.SSL(参见line 132).我不知道如何阻止socket.ssl模块检查主机名.
| 归档时间: | 
 | 
| 查看次数: | 1485 次 | 
| 最近记录: |