我在使用Python 2.7.12連接到www.appswiz.com
時出現錯誤,該錯誤發生在使用Windows 8.1的相當新的機器上。錯誤是SSL: CERTIFICATE_VERIFY_FAILED
上ssl_sock.connect
行下面的代碼。該代碼包裝在一個上下文中的SSL連接,並指定我不想進行證書驗證:Python SSL:CERTIFICATE_VERIFY_FAILED
ssl._create_default_https_context = ssl._create_unverified_context
s_ = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
context.verify_mode = ssl.CERT_NONE
context.check_hostname = True
context.load_default_certs()
ssl_sock = context.wrap_socket(s_, server_hostname=myurl)
ssl_sock.connect((myurl, int(myportno)))
我試圖從服務器添加安全證書的純文本版本我想連接到Python引用的默認證書文件 - 這是行不通的(無論如何,這是沒有意義的,我應該需要這樣做)
當我瀏覽到域我試圖連接到,瀏覽器也不信任遠程服務器證書,但是我已經檢查了綁定到域的證書並且驗證正常。什麼會導致不信任? (我目前正在調查從我發現錯誤的計算機上刪除Windows安全修補程序,以查看是否可能是原因)
(但在使用相同代碼的其他計算機上發生此問題,但是它似乎解決Windows檢索完整的一套更新後,問題仍然存在的機器也有一整套更新然而)
另請參見[www.appswiz.com的Qualsys掃描](https://www.ssllabs.com/ssltest/analyze.html?d=www.appswiz .COM)。它看起來像一個較舊的IIS服務器。此站點的受信任根CA證書應該是*** Go Daddy根證書頒發機構 - 用指紋47beabc922eae80e78783462a79f45c254fde68b指定的G2 ***。 – jww