首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python : CERTIFICATE_VERIFY_FAILED

Python : CERTIFICATE_VERIFY_FAILED
EN

Stack Overflow用户
提问于 2016-11-29 00:57:30
回答 1查看 2.4K关注 0票数 2

使用Python2.7.12连接到www.mydomain.com时,在一台相当新的使用Windows8.1的机器上,我会遇到一个错误。错误是下面代码的SSL: CERTIFICATE_VERIFY_FAILED行中的ssl_sock.connect。代码将SSL连接封装在上下文中,并指定我不想执行证书验证:

代码语言:javascript
复制
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检索完整的更新集后,该问题似乎已得到解决。但是,问题持续的机器也有完整的更新)

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 03:42:34

我解决了这个问题,这个问题似乎与2016年8月29日后Windows的安全更新有关,该更新会在使用TLS 1.0协议时引发证书验证问题。在没有安全更新的情况下重新安装Windows,至少可以让事情暂时正常运行。另外,在Windows 10下运行时,我没有遇到这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40856119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档