当前位置: 首页 > 面试题库 >

如何在python中导入OpenSSL

路欣荣
2023-03-14
问题内容

我正在尝试运行以下简单代码来检索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()

但我收到错误消息:

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

我知道我必须导入OpenSSL。但是我不知道怎么做?以及从哪里获得OpenSSL?我从https://pypi.python.org/pypi/pyOpenSSL下载了一个名为pyOpenSSL的模块,
其中包含两个文件夹:pyOpenSSL-0.15.1.dist-
info和OpenSSL。当我尝试添加导入OpenSSL或导入pyOpenSSL时,出现错误。您能否清楚说明,如何导入这些库或模块?他们应该放在哪里?如果不在我的代码文件的同一目录中?如何在导入语法中编写路径?请帮忙。

编辑: 当试图添加from OpenSSL import SSL代码时,我得到了:

    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

问题答案:

从测试:

from OpenSSL import SSL

回复编辑:pip install pyopenssl应该已经安装了六个。如果您要自行安装,我不会这样做,但是您可以使用手动安装依赖项pip install six cryptography,然后导入应该可以正常工作。如果没有,请发表评论,我将做进一步调查。



 类似资料:
  • 问题内容: 我们能够导入azure.storage,但无法访问BlobService属性 该文档说要使用以下导入语句: 但这得到以下错误: 我们尝试了以下方法: 但这收到以下错误: 我们还使用“ azure.storage.blob”而不是“ azure.storage”尝试了上述所有方法 我们尝试更新azure-storage软件包,但它是最新的(版本0.30.0) 我们还尝试了卸载azure-

  • 问题内容: 我尝试在Python中导入NumPy,但未成功: 我怎样才能解决这个问题? 问题答案: 信息是不言自明的;调用Python时,您的工作目录不应是NumPy源目录;应该安装NumPy,并且您的工作目录应该是该目录所在的目录。

  • 我试图运行一个BigQuery查询从谷歌AppEngine(部署)使用Python 2.7,但我看到这个错误在StackDriver的错误报告: 没有命名为云的模块 这是我的代码(main.py): 这是我的(app.yaml): 错误消息将使我假设没有导入BigQuery的库。但是,如果此代码部署在AppEngine中,那么默认情况下库不应该已经安装在AppEngine中吗? 试图解决这个问题

  • 我尝试用Python3.6和Jupyter笔记本导入png文件,但没有成功。我见过一些不起作用的例子,至少现在不起作用了,例如。 没有名为Image的模块可以安装:conda安装镜像或pip安装镜像 任何简单的解决方案都将不胜感激!

  • 我在让sikuli python单元测试工作时遇到了麻烦,希望能得到一些帮助。我在网上到处搜索,但是没有任何有用的东西。我的python知识非常有限,我想这没有什么帮助... 我用的是win7 32,sikuli 1.0 rc3 (r905),python 2.7.3 我正在尝试通过python运行sikuli单元测试(不使用命令行,只是作为一个python脚本来运行python gui)。除了别

  • 问题内容: 想象一下这个目录结构: 我正在编码,我需要从中导入一些东西。我该怎么办? 我尝试过,但是得到了“未打包的相对导入尝试”。 我四处搜寻,但只发现骇客。有没有一种干净的方法? 问题答案: 每个人似乎都想告诉你应该做什么,而不仅仅是回答问题。 问题是你通过将作为参数传递给解释器而将模块作为运行。 从PEP 328: 相对导入使用模块的属性来确定该模块在包层次结构中的位置。如果模块的名称不包含