J'essaie d'exécuter ce code simple pour récupérer le certificat SSL:
import ssl, socket
#print ssl.get_server_certificate(('www.google.com', 443))
cert=ssl.get_server_certificate(('www.google.com', 443))
# OpenSSL
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
x509.get_subject().get_components()
Mais je reçois une erreur en disant:
Traceback (most recent call last):
File "C:\Users\e\Desktop\Python\ssl\test.py", line 6, in <module>
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
NameError: name 'OpenSSL' is not defined
Je suis conscient que je dois importer OpenSSL. Mais je ne sais pas comment? et où obtenir l'OpenSSL? J'ai téléchargé un module appelé pyOpenSSL depuis https://pypi.python.org/pypi/pyOpenSSL qui contient deux dossiers: pyOpenSSL-0.15.1.dist-info et OpenSSL. Lorsque j'essaie d'ajouter OpenSSL ou pyOpenSSL, je reçois des erreurs. Pouvez-vous expliquer clairement s'il vous plaît, comment importer ces bibliothèques ou modules? où ils devraient être placés? sinon dans le même répertoire de mon fichier de code? comment écrire le chemin dans la syntaxe d'importation? S'il vous plaît, aidez.
EDIT: lorsqu’on a essayé d’ajouter from OpenSSL import SSL
dans le code, j'ai:
C:\Users\e\Desktop\Python\ssl>test.py
Traceback (most recent call last):
File "C:\Users\e\Desktop\Python\ssl\test.py", line 2, in <module>
from OpenSSL import SSL
File "C:\Users\e\Desktop\Python\ssl\OpenSSL\__init__.py", line 8, in <module>
from OpenSSL import Rand, crypto, SSL
File "C:\Users\e\Desktop\Python\ssl\OpenSSL\Rand.py", line 9, in <module>
from six import integer_types as _integer_types
ImportError: No module named six
Parmi les tests :
from OpenSSL import SSL
Réponse à l'édition: pip install pyopenssl
aurait dû en installer six. Si vous essayez de vous installer vous-même, je ne le ferais pas, mais vous pouvez installer les dépendances manuellement à l'aide de pip install six cryptography
et votre importation devrait fonctionner correctement. Sinon, laissez un commentaire et je ferai une enquête plus approfondie.
Réponse au commentaire: Il y a des instructions sur installation de pip sous Windows .