加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Python请求信任自签名证书

发布时间:2020-12-20 13:43:56 所属栏目:Python 来源:网络整理
导读:我的apache ssl conf有以下配置 # Server Certificate:SSLCertificateFile /etc/pki/tls/certs/localhost.crt# Server Private Key:SSLCertificateKeyFile /etc/pki/tls/private/localhost.key 我没有此服务器的CA证书.我是否仍然可以将localhost.crt安装到
我的apache ssl conf有以下配置

#   Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt

#   Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

我没有此服务器的CA证书.我是否仍然可以将localhost.crt安装到我的客户端以成功验证我的服务器?

在客户端:
我正在使用Python请求库(2.2.1).使用默认的CA BUNDLE路径.即使我将localhost.crt添加到默认路径中的cacert.pem,我也无法看到验证通过.我看到了例外情况:

File "/usr/lib/python2.7/site-packages/requests/adapters.py",line 385,in send
    raise SSLError(e)
SSLError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我做错了吗?我应该只在服务器中添加签署localhost.crt的CA吗?

谢谢,
维杰

解决方法

如果你提供了代码并且更清楚你正在做什么,那么你会得到一个很好的答案.

如果您希望即使使用无效证书也不想收到错误,请尝试使用verify = False属性.

>>> requests.get(‘https://kennethreitz.com’,verify = False)

如果要使用自定义证书,请将证书放在脚本文件夹中,并使用cert =(‘/ path / client.cert’,’/ path / client.key’)参数.

>>> requests.get(‘https://kennethreitz.com’,cert =(‘/ path / client.cert’,’/ path / client.key’)).

有关更多信息,请阅读docs.python-requests.org/en/master/user/advanced/网站

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读