Python Requests : les bundles CA vont dans verify, pas dans cert
Placez le matériel de confiance CA approuvé dans la configuration de vérification au lieu de traiter une erreur de certificat comme une demande de clé privée du client.
Un collègue vous remet le certificat CA de l'organisation. Requests propose un paramètre nommé cert. Les noms semblent aller de pair, mais ils répondent à des questions différentes.
| Réglage | Objet |
|---|---|
verify | Sélectionne le matériel de confiance utilisé pour vérifier le pair |
cert | Présente un certificat client, avec sa clé privée, lorsque l'authentification du client est requise |
Pour une CA d'interception approuvée, une opération Requests peut sélectionner le bundle CA prévu :
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Ici, routes est le mappage de proxy existant de l'application. Le chemin doit nommer le bundle de confiance lisible correct pour ce client. Ce n'est pas un certificat de site téléchargé et choisi simplement parce que la connexion a échoué.
La variable d'environnement REQUESTS_CA_BUNDLE est une autre source de confiance prise en charge. Vérifiez le chemin d'envoi réel si elle semble inefficace ; les flux de requêtes préparées et les réglages explicites peuvent modifier la façon dont la configuration d'environnement est fusionnée.
Vous ne devriez pas avoir besoin de la clé privée de la CA
Le certificat CA public est ce dont un client a besoin pour reconnaître un émetteur approuvé. Sa clé privée de signature est un secret puissant détenu par une autre partie. Elle ne doit pas être distribuée aux utilisateurs de l'application dans le cadre d'une réparation de routine de la confiance du proxy.
Un certificat client peut encore être exigé par une destination particulière ou par une autre relation TLS configurée séparément. C'est une exigence distincte, et non quelque chose qui se déduit de chaque erreur de vérification de certificat.
Lorsque l'erreur suivante apparaît, nommez l'opération : charger un fichier CA, vérifier un certificat de pair ou présenter une identité client. Déplacer un fichier entre verify et cert jusqu'à ce que le message change n'est pas un moyen fiable de choisir son rôle.