web-dev-qa-db-fra.com

Comment importer OpenSSL dans python

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
25
user2192774

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 .

48
hd1