Колега ви го дава 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 додека пораката не се промени не е сигурен начин да се избере нејзината улога.

Поврзани статии