Python Requests: els paquets CA van a verify, no a cert
Poseu el material de confiança CA aprovat a la configuració de verificació en lloc de tractar un error de certificat com una petició de la clau privada del client.
Un company us dona el certificat CA de l'organització. Requests ofereix un paràmetre anomenat cert. Els noms semblen coincidir, però responen preguntes diferents.
| Configuració | Propòsit |
|---|---|
verify | Selecciona el material de confiança utilitzat per verificar l'igual |
cert | Presenta un certificat de client, amb la seva clau privada, quan es requereix autenticació de client |
Per a una CA d'intercepció aprovada, una operació de Requests pot seleccionar el paquet CA previst:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Aquí routes és la mapació de proxys existent de l'aplicació. La ruta ha de nomenar el paquet de confiança correcte i llegible per a aquest client. No és un certificat de lloc web descarregat i triat només perquè la connexió ha fallat.
La variable d'entorn REQUESTS_CA_BUNDLE és una altra entrada de confiança admesa. Comproveu la ruta real d'enviament si sembla ineficaç; els fluxos de peticions preparades i la configuració explícita poden alterar com es fusiona la configuració de l'entorn.
No hauríeu de necessitar la clau privada de la CA
El certificat CA públic és el que un client necessita per reconèixer un emissor aprovat. La seva clau privada de signatura és un secret poderós d'una altra part. No s'hauria de distribuir als usuaris de l'aplicació com a part d'una reparació rutinària de la confiança del proxy.
Un certificat de client encara pot ser requerit per una destinació concreta o per una altra relació TLS configurada per separat. Això és un requisit separat, no una cosa inferida de cada error de verificació de certificat.
Quan aparegui el següent error, nomeu l'operació: carregar un fitxer CA, verificar un certificat d'igual o presentar una identitat de client. Moure un fitxer entre verify i cert fins que el missatge canviï no és una manera fiable de triar el seu paper.