Python Requests: CA paketi pripadaju u verify, a ne u cert
Stavite odobreni CA materijal povjerenja u konfiguraciju provjere umjesto da grešku certifikata tretirate kao zahtjev za privatnim ključem klijenta.
Kolega vam daje CA certifikat organizacije. Requests nudi parametar pod nazivom cert. Imena izgledaju kao par, ali odgovaraju na različita pitanja.
| Postavka | Svrha |
|---|---|
verify | Odabire materijal povjerenja koji se koristi za provjeru druge strane |
cert | Predstavlja klijentski certifikat, s njegovim privatnim ključem, kada je potrebna autentifikacija klijenta |
Za odobreni CA za presretanje, Requests operacija može odabrati namjeravani CA paket:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Ovdje je routes postojeće mapiranje proxyja u aplikaciji. Putanja mora imenovati ispravan čitljiv paket povjerenja za ovog klijenta. To nije preuzeti certifikat web stranice odabran samo zato što je veza neuspješna.
Varijabla okruženja REQUESTS_CA_BUNDLE je još jedan podržani izvor povjerenja. Provjerite stvarni put slanja ako se čini neučinkovitim; tokovi pripremljenih zahtjeva i eksplicitne postavke mogu promijeniti kako se konfiguracija okruženja spaja.
Ne bi vam trebao trebati privatni ključ CA
Javni CA certifikat je ono što klijent treba da prepozna odobrenog izdavaoca. Njegov privatni ključ za potpisivanje je moćna tajna druge strane. Ne bi ga trebalo dijeliti korisnicima aplikacije kao dio rutinskog popravka povjerenja proxyja.
Klijentski certifikat ipak može zahtijevati određeno odredište ili drugi zasebno konfiguriran TLS odnos. To je zaseban zahtjev, a ne nešto što se izvodi iz svake greške provjere certifikata.
Kada se pojavi sljedeća greška, imenujte operaciju: učitavanje CA datoteke, provjera certifikata druge strane ili predstavljanje identiteta klijenta. Premještanje datoteke između verify i cert dok se poruka ne promijeni nije pouzdan način da odaberete njenu ulogu.