Dépannage “certificat ssl vérifier l'erreur” échec de l'
Sur Windows Vista SP2 + Python 2.7.10 je peux me connecter à https://www.python.org, mais de ne pas https://codereview.appspot.com
Le script:
HOST1 = 'https://www.python.org'
HOST2 = 'https://codereview.appspot.com'
import urllib2
print HOST1
urllib2.urlopen(HOST1)
print HOST2
urllib2.urlopen(HOST2)
Et la sortie:
E:\>py test.py
https://www.python.org
https://codereview.appspot.com
Traceback (most recent call last):
File "test.py", line 9, in <module>
urllib2.urlopen(HOST2)
File "C:\Python27\lib\urllib2.py", line 158, in urlopen
return opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 435, in open
response = self._open(req, data)
File "C:\Python27\lib\urllib2.py", line 453, in _open
'_open', req)
File "C:\Python27\lib\urllib2.py", line 413, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 1244, in https_open
context=self._context)
File "C:\Python27\lib\urllib2.py", line 1201, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
Comment puis-je résoudre les problèmes, quel est exactement le problème avec https://codereview.appspot.com/ ?
Quels sont les navigateurs dire sur le certificat de ce site?
les navigateurs sont ok - vert verrouillage de Chrome et d'or de verrouillage dans IE8.
les navigateurs sont ok - vert verrouillage de Chrome et d'or de verrouillage dans IE8.
OriginalL'auteur anatoly techtonik | 2015-10-15
Vous devez vous connecter pour publier un commentaire.
Je suppose que c'est lié à l'autre de la chaîne de manutention dans OpenSSL, comme décrit en détail dans Python Urllib2 erreur SSL. Bien que Python utilise le CA de windows store pour obtenir des certificats racine de confiance de la validation de la chaîne de confiance en lui-même est fait dans OpenSSL.
Selon "Python 2.7.10 Libéré" Python 2.7.10 sur Windows inclut OpenSSL 1.0.2 un mais les correctifs sur d'autres chaînes ont été fait dans la version 1.0.2 b seulement (et ont du être corrigés rapidement par la suite parce qu'ils contiennent un sérieux bogue de sécurité).
Si vous regardez la SSLLabs rapport pour codereview.appspot.com vous pouvez voir qu'il y a de multiples confiance chaînes qui est probablement la cause du problème. Contrairement à ce python.org n'a qu'une seule chaîne de confiance.
Pour contourner le problème, il peut être nécessaire d'utiliser votre propre autorité de certification racine magasin qui doit contenir le certificat de "/C=US/O=Equifax/OU=Equifax Secure Autorité de certification" pour vérifier codereview.appspot.com correctement. Le certificat peut être trouvé ici et vous pouvez lui donner avec la cafile paramètre à
urllib2.urlopen
._ssl.pyd
avec la versionOpenSSL 1.0.2a 19 Mar 2015
en Python 2.7.10 et je n'ai pas vu toutes les nouvelles versions.Semble que je ne serai pas capable de recompiler moi-même. Dommage que python.org ne peut pas libérer 2.7.11 ou au moins un indépendant de la mise à jour pour
_ssl.pyd
comme je l'ai recommandé que vous devriez être en mesure d'utiliser une autorité de certification locale fichier. Pour bien commencer regarder le faisceau de Mozilla qui est disponible à la prise en charge du format par python, curl.haxx.se/docs/caextract.html. Mais je vous recommande de prendre l'ancien bundle qui comprend le RSA 1024 clés tant que vous n'avez pas une version d'OpenSSL qui peut gérer de multiples chemin d'approbation correctement.
Cela peut résoudre le problème pour moi personnellement, mais ne sera pas aider les autres utilisateurs de codereview.appspot.com
pouvez-vous expliquer pourquoi il ne fonctionne pas sur Windows 7?
OriginalL'auteur Steffen Ullrich