Vij*_*man 7 python apache ssl python-requests
我的 apache ssl conf 具有以下配置
# Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
# Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
Run Code Online (Sandbox Code Playgroud)
我没有此服务器的 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
Run Code Online (Sandbox Code Playgroud)
我做错了什么吗?我应该只添加在服务器中签署 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/站点
| 归档时间: |
|
| 查看次数: |
6949 次 |
| 最近记录: |