Python Requests: CA пакетите припаѓаат во verify, а не во cert
Ставете го одобрениот CA материјал за доверба во конфигурацијата за проверка, наместо грешката со сертификатот да ја третирате како барање за приватниот клуч на клиентот.
Колега ви го дава CA сертификатот на организацијата. Requests нуди параметар наречен cert. Имињата изгледаат како пар, но тие одговараат на различни прашања.
| Поставка | Цел |
|---|---|
verify | Го избира материјалот за доверба што се користи за проверка на другата страна |
cert | Прикажува клиентски сертификат со неговиот приватен клуч, кога е потребна автентикација на клиентот |
За одобрен CA за пресретнување, операцијата на Requests може да го избере предвидениот CA пакет:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Овде routes е постојното мапирање на прокси на апликацијата. Патеката мора да го именува точниот читлив пакет за доверба за овој клиент. Тоа не е преземен сертификат на веб-страница избран само затоа што врската не успеа.
Променливата на околината REQUESTS_CA_BUNDLE е уште еден поддржан извор на доверба. Проверете ја вистинската патека на испраќање ако изгледа неефикасна; работните текови со подготвени барања и експлицитните поставки можат да променат како се спојува конфигурацијата на околината.
Не треба да ви треба приватниот клуч на CA
Јавниот CA сертификат е она што му е потребно на клиентот за да препознае одобрен издавач. Неговиот приватен клуч за потпишување е моќна тајна на друга страна. Не треба да се дистрибуира до корисниците на апликацијата како дел од рутинско поправање на довербата на прокси.
Клиентски сертификат сепак може да биде побарано од одредена дестинација или од друга одделно конфигурирана TLS врска. Тоа е одделно барање, а не нешто што се изведува од секоја грешка при проверка на сертификат.
Кога ќе се појави следната грешка, именувајте ја операцијата: вчитување CA датотека, проверка на сертификат на другата страна или прикажување клиентски идентитет. Преместувањето датотека помеѓу verify и cert додека пораката не се промени не е сигурен начин да се избере нејзината улога.