如何为 python 请求获取 CA 证书?
How to get ca certificates for python requests?
我正在尝试 运行 连接到 myhost.comapny.com:8443 的 python 脚本,但它在 运行ning
时出现 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 有人指出我该如何正确地做到这一点?
是否需要验证证书?如果不是,您可以尝试设置“verify=False”。
使用对我有用的 python 导入 cacerts 的正确命令是:
openssl s_client -showcerts -connect myhost.comapny.com:8443 </dev/null 2>/dev/null > company.ca
然后我向请求提供“company.ca”路径作为指定 cacaert 位置的参数。
我正在尝试 运行 连接到 myhost.comapny.com:8443 的 python 脚本,但它在 运行ning
时出现 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 有人指出我该如何正确地做到这一点?
是否需要验证证书?如果不是,您可以尝试设置“verify=False”。
使用对我有用的 python 导入 cacerts 的正确命令是:
openssl s_client -showcerts -connect myhost.comapny.com:8443 </dev/null 2>/dev/null > company.ca
然后我向请求提供“company.ca”路径作为指定 cacaert 位置的参数。