SSL证书验证失败(_ssl.c:600)

4

您知道这个错误吗:

urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

当我运行用Python编写的应用程序时,我的服务器出现了这个错误,但是当我在本地计算机上运行此应用程序以向该服务器发送请求时,它可以正常工作而没有任何错误。Python应用程序发送https请求到myhost.com/action,Web主机正在使用https。我从sslchecker检查了ssl,看起来ssl已经成功安装。以下是检查器的结果:enter image description here 我不知道我必须展示什么来解释我的问题。如果您对代码或服务器设置有疑问,我会尽力回答。
** 这个问题不是那个问题的重复。

可能是如何验证SSL证书?的重复问题。 - ivan_pozdeev
“certificate verify failed” 的哪一部分不清楚? - ivan_pozdeev
在我的情况下,Web应用程序正常工作,我从sslchecker.com检查了SS,没有错误。 - Ulug'bek
然后添加有关哪些部分有效以及哪些部分无效的详细信息。以及在使用SSL时每个部分是否以及如何验证证书。 - ivan_pozdeev
我不擅长ssl,但我希望错误代码有所意义。 - Ulug'bek
这意味着在重复的问题描述中提到的过程失败了。 - ivan_pozdeev
2个回答

3

Python 3中引入了一个新的SSL证书检查系统,避免未通过验证的错误方法之一是使该机制无效化:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

2
我不知道这是否适用于您,因为我不了解您的代码。但是我曾经遇到过相同的问题。使用以下四行代码后,我的代码完美运行:

import request

#disable ssl warning
requests.packages.urllib3.disable_warnings()
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
context.verify_mode = ssl.CERT_NONE

连接时,将sslContext参数设置为context。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接