我正在尝试运行连接到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验证失败而到来。似乎我没有生成证书correctly.Can有人告诉我如何才能正确地生成证书?
发布于 2021-07-12 03:53:15
使用python导入cacerts的正确命令是:
openssl s_client -showcerts -connect myhost.comapny.com:8443 </dev/null 2>/dev/null > company.ca
然后,我将"company.ca“路径作为参数提供给请求,以指定缓存位置。
发布于 2021-07-10 04:22:23
您是否需要验证证书?如果没有,您可以尝试设置"verify=False“。
https://stackoverflow.com/questions/68322280
复制相似问题