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

如何为python请求获取ca证书?

如何解决如何为python请求获取ca证书?

我正在尝试运行连接到 myhost.comapny.com:8443 的 python 脚本,但它在运行时出现 SSL 证书错误

 (Caused by SSLError(SSLCertVerificationError(1,'[SSL: CERTIFICATE_VERIFY_Failed] certificate verify Failed: self signed certificate in certificate chain (_ssl.c:1122)')))

我的代码如下:

import requests

url = "https://myhost.comapny.com:8443/environments/test/deplpyments"

payload={}
files=[
  ('request',('test.yaml',open('test.yaml','rb'),'application/octet-stream'))
]
headers = {
  'Content-Type': 'multipart/form-data','Authorization': 'token'
}

response = requests.request("POST",url,headers=headers,data=payload,files=files,verify="/user/test/company.cert")

print(response.text)

我已将证书添加为:

openssl s_client -showcerts -connect myhost.comapny.com:8443 </dev/null 2>/dev/null | openssl x509 -text >company.cert

但它仍然无法正常工作,并且由于 SSL 验证失败而出现相同的错误。似乎我没有正确生成证书。有人能指点我如何正确地做吗?

解决方法

您是否需要验证证书?如果没有,您可以尝试设置“verify=False”。

,

使用对我有用的 python 导入 cacerts 的正确命令是:

openssl s_client -showcerts -connect myhost.comapny.com:8443 </dev/null 2>/dev/null > company.ca 

然后我向请求提供了“company.ca”路径作为参数来指定 cacaert 位置。

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