Python Requests: CA pakotnes pieder pie verify, nevis pie cert
Ievietojiet apstiprināto CA uzticības materiālu verifikācijas konfigurācijā, nevis uzskatiet sertifikāta kļūdu par klienta privātās atslēgas pieprasījumu.
Kolēģis jums iedod organizācijas CA sertifikātu. Requests piedāvā parametru ar nosaukumu cert. Nosaukumi izskatās kā pāris, bet tie atbild uz dažādiem jautājumiem.
| Iestatījums | Mērķis |
|---|---|
verify | Izvēlas uzticības materiālu, ko izmanto otrai pusei pārbaudīt |
cert | Uzrāda klienta sertifikātu ar tā privāto atslēgu, kad nepieciešama klienta autentifikācija |
Apstiprinātai pārtveršanas CA Requests darbība var izvēlēties paredzēto CA pakotni:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Šeit routes ir lietojumprogrammas esošā starpniekservera kartēšana. Ceļam jānorāda pareizā lasāmā uzticības pakotne šim klientam. Tas nav lejupielādēts vietnes sertifikāts, kas izvēlēts tikai tāpēc, ka savienojums neizdevās.
Vides mainīgais REQUESTS_CA_BUNDLE ir vēl viens atbalstīts uzticības avots. Ja tas šķiet neefektīvs, pārbaudiet faktisko sūtīšanas ceļu; sagatavoto pieprasījumu darbplūsmas un skaidri iestatījumi var mainīt to, kā tiek apvienota vides konfigurācija.
Jums nevajadzētu būt nepieciešamai CA privātajai atslēgai
Publiskais CA sertifikāts ir tas, kas klientam nepieciešams, lai atpazītu apstiprinātu izdevēju. Tā parakstīšanas privātā atslēga ir citas puses spēcīgs noslēpums. To nevajadzētu izplatīt lietojumprogrammas lietotājiem kā daļu no parastas starpniekservera uzticības labošanas.
Klienta sertifikātu joprojām var pieprasīt konkrēts galamērķis vai cita atsevišķi konfigurēta TLS attiecības. Tas ir atsevišķa prasība, nevis kaut kas secināts no katras sertifikāta verifikācijas kļūdas.
Kad parādās nākamā kļūda, nosauciet darbību: CA faila ielāde, otras puses sertifikāta pārbaude vai klienta identitātes uzrādīšana. Faila pārvietošana starp verify un cert, līdz ziņojums mainās, nav uzticams veids, kā izvēlēties tā lomu.