建立:
>请求2.13.0
> certifi 2017.01.23
>’OpenSSL 1.0.2g 2016年3月1日’
我正在使用此API(2048位证书密钥):https://api.sidecar.io/rest/v1/provision/application/device/count/
并收到此错误:
requests.exceptions.SSLError :(“握手不好:错误([(‘SSL例程’,’ssl3_get_server_certificate’,’证书验证失败’)],)”,)
见https://github.com/sidecar-io/sidecar-python-sdk/blob/master/sidecar.py的第44页
如果我在请求中转为verify = False,我可以绕过,但我宁愿弄清楚认证失败的原因.
任何帮助是极大的赞赏;谢谢!
This server’s certificate chain is incomplete. Grade capped to B.
这意味着服务器将缺少中间证书的证书链发送到受信任的根,因此您的客户端无法构建信任链.大多数桌面浏览器通过尝试从其他地方获取缺少的证书来解决此问题,但在这种情况下,正常的TLS库将失败.您需要明确地将缺失的链证书添加为受信任以解决此问题:
import requests requests.get('https://api.sidecar.io',verify = 'mycerts.pem')
mycerts.pem应包含缺少的中间证书和受信任的根证书. mycerts.pem的测试版本可以在http://pastebin.com/aZSKfyb7找到.
原文地址:https://www.jb51.cc/javaschema/281564.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。