错误提示是这样:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/ssl.py", line 1007, in get_server_certificate
with closing(context.wrap_socket(sock)) as sslsock:
File "/usr/lib/python2.7/ssl.py", line 353, in wrap_socket
_context=self)
File "/usr/lib/python2.7/ssl.py", line 601, in __init__
self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 830, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
证书是自签的,代码没变过,以前的是用的自根证签一个服务器端和一个客户端的证书,代码完全没问题(代码是我们用来测试客户端和服务器端通讯,同时测试服务器端证书正确的)用了一年多了。最近更新服务器端,所以公司觉得用我们另外一个专门的自签根证书签了一个专门用这个项目的中级 CA 证书,然后签了服务器和客户端的证书。然后这个测试代码就提示前面的错误了
感觉有可能是 ssl 的版本问题,也有可能是中级 CA 的问题,但是证书本身没有问题(客户端和服务器端可以正常链接)我现在想了解下如何纠错呢?有什么好办法修复这个问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.