Python Requests: CA-kimbud kuuluvad verify alla, mitte cert alla
Pange kinnitatud CA usaldusmaterjal kontrollimise konfiguratsiooni, mitte käsitlege sertifikaadiviga kliendi privaatvõtme taotlusena.
Kolleeg annab teile organisatsiooni CA-sertifikaadi. Requests pakub parameetrit nimega cert. Nimed näivad sobivat, kuid vastavad erinevatele küsimustele.
| Seade | Eesmärk |
|---|---|
verify | Valib usaldusmaterjali, mida kasutatakse vastaspoole kontrollimiseks |
cert | Esitab kliendisertifikaadi koos selle privaatvõtmega, kui on vaja kliendi autentimist |
Kinnitatud vahendava CA puhul saab Requests'i toiming valida ettenähtud CA-kimbu:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Siin on routes rakenduse olemasolev puhverserveri vastendus. Tee peab nimetama selle kliendi jaoks õige loetava usalduskimbu. See ei ole alla laaditud veebisaidi sertifikaat, mis valiti ainult seetõttu, et ühendus ebaõnnestus.
Keskkonnamuutuja REQUESTS_CA_BUNDLE on veel üks toetatud usaldusallikas. Kui see tundub ebaefektiivne, kontrollige tegelikku saatmisteekonda; ettevalmistatud päringute töövood ja selgesõnalised seaded võivad muuta seda, kuidas keskkonnakonfiguratsioon ühildatakse.
Teil ei peaks olema vaja CA privaatvõtit
Avalik CA-sertifikaat on see, mida klient vajab kinnitatud väljaandja tuvastamiseks. Selle allkirjastamise privaatvõti on teise osapoole võimas saladus. Seda ei tohiks tavapärase puhverserveri usalduse parandamise osana rakenduse kasutajatele levitada.
Kliendisertifikaati võib siiski nõuda konkreetne sihtkoht või muu eraldi konfigureeritud TLS-suhe. See on eraldi nõue, mitte midagi, mis tuletatakse igast sertifikaadi kontrollimise veast.
Kui ilmub järgmine viga, nimetage toiming: CA-faili laadimine, vastaspoole sertifikaadi kontrollimine või kliendi identiteedi esitamine. Faili liigutamine verify ja cert vahel, kuni teade muutub, ei ole usaldusväärne viis selle rolli valimiseks.