Код: Выделить всё
os.environ['REQUESTS_CA_BUNDLE'] = os.path.join('/path/to/','ca-own.crt')
s = requests.Session()
s.cert = ('some.crt', 'some.key')
s.get('https://some.site.com')
Код: Выделить всё
requests.exceptions.SSLError: HTTPSConnectionPool(host='some.site.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)')))
Код: Выделить всё
curl --cacert ca-own.crt --key some.key --cert some.crt https://some.site.com
Как я могу выполнить запросы Python. Сеанс отправляет правильные сертификаты в конечную точку?
P.S. Та же ситуация будет, если я добавлю следующее
Код: Выделить всё
s.verify = 'some.crt'
Код: Выделить всё
cat some.crt ca-own.crt > res.crt
Код: Выделить всё
s.verify = 'res.crt'
Код: Выделить всё
cat some.crt some.key > res.pem
Код: Выделить всё
s.cert = "res.pem"
Код: Выделить всё
requests.exceptions.SSLError: HTTPSConnectionPool(host='some.site.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)')))
Код: Выделить всё
cat ca-own.crt some.crt some.key > res.pem
Код: Выделить всё
s.cert = "res.pem"
Код: Выделить всё
requests.exceptions.SSLError: HTTPSConnectionPool(host='some.site.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(116, '[X509: KEY_VALUES_MISMATCH] key values mismatch (_ssl.c:4067)')))
Подробнее здесь: https://stackoverflow.com/questions/719 ... and-own-ca