有沒有辦法關閉SSL檢查,以便在Python中使用SOAPpy時不會生成錯誤主機異常。在Python中使用M2Crypto關閉SSL檢查
1
A
回答
5
可以在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 config似乎使用socket
模塊M2Crypto.SSL
(見第132行)。我不知道如何阻止socket.ssl
模塊檢查主機名。
0
擴展在AndiDog的回答,您可以在實例的實例基礎和0.21.1版本(至少)M2Crypto的設置postConnectionCheck,有Connect.set_post_connection_check_callback()
方法可以這樣做:
sslsock = M2Crypto.SSL.Connection(sslcontext)
# Disable checking of server certificates
sslsock.set_post_connection_check_callback(None)
請注意,禁用連接到服務器和接受客戶端的檢查(後者在默認情況下處於禁用狀態)。
的參數,如果不是無,是一個函數,它的證書和地址,即:
check(self.get_peer_cert(), self.addr[0])
爲了參考,見M2Crypto source。
相關問題
- 1. 如何在使用M2Crypto SSL時禁用Python中的URL重定向?
- 2. 使用APPCMD關閉SSL在IIS 7.0
- 3. 檢查並關閉python生成器
- 4. M2Crypto SSL和壓縮方法
- 5. 在python中使用openCV檢測打開或關閉的眼睛
- 6. 如何使用Erlang的SSL:關閉/ 2
- 7. 的Python M2Crypto SSL:在無法獲取本地頒發者證書
- 8. 如何檢查是否在Python中關閉了MySQL連接?
- 9. 在python中關閉?
- 10. Python M2crypto錯誤
- 11. Boost.Asio SSL ungraceful關閉
- 12. 在Python中使用ssl context.set_servername_callback
- 13. 使用Python解密字符串M2Crypto
- 14. 使用Python M2Crypto AES加密與Java
- 15. SAML簽名驗證使用Python/M2Crypto
- 16. 在python 2.7.10中全局禁用ssl檢查 - Pycontrol
- 17. 檢查插座關閉
- 18. 檢查時,屏幕關閉
- 19. 檢查UIBezierPath是否關閉
- 20. 檢查形式是關閉
- 21. Python 2.7和M2Crypto - ImportError
- 22. 如何檢查Mac/Python中的屏幕是否關閉?
- 23. 使用Python檢測SSL哈希算法
- 24. 使用M2Crypto在Python 2.4中生成SHA-256哈希
- 25. cv在Python/OpenCV中關閉?
- 26. 檢查BalloonTooltip是否被用戶關閉
- 27. 檢查通知已關閉在android
- 28. 檢查GPS關閉或每次在Android
- 29. 檢查NSButton在drawRect上是否關閉
- 30. M2Crypto包的使用