erreurs de certificat pip et SSL


7

J'essaie d'installer une bibliothèque via pip. J'ai un problème avec le certificat SSL, même avec le --cert. Essayez ceci sous Windows (version pip 1.5.4, version 2.7.6 de python):

pip --cert C:\tmp\cacert.pem install robotframework-archivelibrary --proxy http://myproxy

Obtention de la page https://pypi.python.org/simple/robotframework-archivelibrary/ Impossible d'extraire l'URL https://pypi.python.org/simple/robotframework-archivelibrary/ : erreur de connexion: [Errno 1] _ssl.c: 507: erreur: 14090086: routines SSL: SSL3_GET_SERVER_CERTIFICATE: échec de la vérification du certificat

Des idées?

Réponses:


8

J'avais des messages d'erreur similaires dus à l'interception de notre pare-feu d'entreprise (c'est-à-dire un proxy SSL transparent). J'ai exporté le certificat d'autorité de certification racine qui signe le certificat de pare-feu au format .pem et l'ajouté au fichier suivant:

C:\Python27\Lib\site-packages\pip\_vendor\requests\cacert.pem

Cela a résolu mon problème. Votre problème pourrait ne pas être exactement le même, mais si vous obtenez les bons certificats d'AC dans le fichier cacert.pem ci-dessus, je suis sûr que votre échec de vérification du certificat SSL peut être passé.


4
Pourriez-vous préciser comment exporter un cert de CA racine?
Eran

Oui, je ne sais pas sur quelle autorité de certification racine est exportée. Où allons-nous récupérer l'autorité de certification racine du référentiel source et la transmettre à la ligne de commande, ainsi que vers le pare-feu via le fichier cacert.pem dans les packages de site Python ?
rholmes

J'ai essayé 5 fichiers cacert.pem différents dans des dossiers python, mais l'un d'entre eux a finalement fonctionné: l' C:\Python27\Lib\site-packages\certifi\cacert.pem un d'entre eux a également reçu un traitement
endolith

2

Comme --certcela ne fonctionne pas pour vous, vous utilisez probablement le mauvais fichier de certificat.

Le plus souvent, vous êtes derrière un proxy d'entreprise. Vous devez donc exporter votre certificat racine en accédant à l'URL défaillante (par exemple https://pypi.python.org/simple/robotframework-archivelibrary/, voir: Comment enregistrer un certificat SSL de serveur distant localement sous forme de fichier ).

Si c'est au format CER, convertissez-le en PEM .

Puis utilisez ce fichier PEM, par exemple

pip --cert root-cert.pem install robotframework-archivelibrary

Voir aussi: échec de l'installation du programme d'installation avec "erreur de connexion: [SSL: CERTIFICATE_VERIFY_FAILED]" .


0

Ajoutez ceci à votre configuration de pip, qui sous Windows est C:\Users\<user>\pip\pip.ini.

[global]
  trusted-host = pypi.python.org
  proxy = <proxy>:<port>

Trouvez votre mandataire en suivant ces instructions.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.