微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于发送带有证书,私有加密密钥和密码的请求的Python代码

如何解决用于发送带有证书,私有加密密钥和密码的请求的Python代码

我正试图从安装了证书的https调用获取响应。这是我的代码

import requests
import urllib3

urllib3.disable_warnings()

cert_file_path = "/path/output-crt-file-name.crt"
key_file_path = "/path/output-key-file-name.key"
passwd = 'secretpass'
print(passwd)
url = "https://url/to/fetch/response"
params = {"AppID": "xxxx","Safe": "xxxx","Folder": "Root","Object": "xxxx"}
cert = (cert_file_path,key_file_path,passwd)
r = requests.get(url,params=params,cert=cert,verify=True )
print(r.text)

会引发错误

由SSLError引起((“客户端私钥已加密,需要密码”

请提出建议。

解决方法

恐怕请求当前不支持使用加密的私钥,请参阅https://2.python-requests.org/en/master/user/advanced/#client-side-certificates

本地证书的私钥必须未加密。 当前,“请求”不支持使用加密密钥。

有关如何删除密钥加密的说明,请参见https://security.stackexchange.com/questions/59136/can-i-add-a-password-to-an-existing-private-key

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。