问题标签 [m2crypto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3294 浏览

python - Python M2Crypto DLL 加载失败,找不到指定的模块

我正在尝试将此切片用于我的 web2py 应用程序 http://www.web2pyslices.com/slices/take_slice/106

我安装了模块 M2Crypto 并按照切片,加载页面时收到此错误

所以我尝试直接从 Python 导入模块我打开终端并输入

无论如何要解决这个问题??

0 投票
1 回答
392 浏览

python - python_d 2.7 不会加载 __m2crypto_d.pyd

我已经使用 MSVC 2008 构建了 python 2.7 调试来调试导入 M2Crypto 的脚本。当我运行我的脚本时,python_d 正确地创建了一个 Python_Eggs 缓存,并将 __m2crypto.pyd 和 __m2crypto_d.pyd 复制到其中。但随后它尝试从缓存中加载非调试 python 模块,并终止,因为它不包含调试信息。我已经重建了 openssl 和 M2Crypto,并确保构建机器(VM)上不存在其他副本。我已经通过 python 本身进行了跟踪,但无法发现它为什么不会加载 _d.pyd。

任何想法为什么会发生这种情况?

0 投票
2 回答
10528 浏览

python - 在 Windows 上安装 M2Crypto

我正在尝试使用 easy_install 在 Windows 7 机器上安装 M2Crypto。但是,我收到以下错误:

SWIG_m2crypto.i(31):错误:无法找到“openssl\opensslv.h”
SWIG_m2crypto.i(45):错误:无法找到“openssl\safestack.h”
SWIG_evp.i(12):错误:无法找到'openssl\opensslconf.h'
SWIG_ec.i(7) :错误:无法找到 'openssl\opensslconf.h'
错误:安装脚本退出并出现错误:命令 'swig.exe' 失败,退出状态为 1

有什么建议吗?

我尝试为 Windows 安装openssl

0 投票
1 回答
1413 浏览

python - 错误的 base64 解码 - M2Crypto - Python - Android - RSA

尝试在我的服务器(Django/Python)上实现应用内计费的签名验证。

我发现了这个很棒的话题,但我遇到了这行的问题:

如果我完全按照那里的编码去做,我会得到一个“RSAError:没有起始行”[这是有道理的,因为 python 并不真正喜欢 pem 的定义方式]

我决定将我的密钥放入一个 .pem 文件并加载它

但是,我得到一个 "RSAError: bad base64 decode" 。有任何想法吗?

0 投票
2 回答
521 浏览

python - M2Crypto BIO.readlines 挂起,python 2.7

我们正在将基于 C++ openssl 的项目转换为带有 M2Crypto 的 python,并且我们遇到了一个与 M2Crypto 的 BIO 例程有些不寻常的问题。具体来说,对 BIO.readlines() 的任何调用都会永远挂在文件对象上。

这是我们尝试的快速示例:

为了确保我们的 OpenSSL 安装没有严重错误,我们创建了一个小型测试程序来读取我们刚刚创建的 test.txt 文件

没问题。

我们一直在研究 M2Crypto-0.21.1/SWIG/_bio.i 包装文件,并认为我们可能对问题的根源有所了解。第 109 行测试 BIO_gets() 的返回值

但是, BIO_gets() 的手册页表明它可以返回 0 或 -1 以指示流结束。

我相信应该是

但是想看看其他人是否遇到过——或者我们对 BIO_gets() 系统的理解是否有误。

--- 详细信息 --- Pythong 2.7 M2Crypto 0.21.1 OpenSSL 0.9.8q-fips 2010 年 12 月 2 日 FreeBSD 8.2-RELEASE-p4

0 投票
1 回答
2164 浏览

python - 具有客户端身份验证的 Python 嵌入式 Web 服务器

我需要构建一个支持 2 种不同类型用户的 python web 服务器:

  • “超级管理员”,当他们使用预配置的笔记本电脑/浏览器连接时,可以完全访问管理面板。
  • 管理员,对管理面板的访问受到限制,并且只能使用用户名/密码组合进行连接。

我认为 SSL 客户端身份验证是对技术人员进行身份验证的一种可能解决方案。

请注意,Web 服务器将嵌入到产品中,并且无法访问 Internet,因此无法连接到 CA。

SSL 客户端身份验证是一个好的解决方案,还是有更简单或更好的选择?

这是我发现的...

CherryPy似乎是一个非常好的、简单的 python web 服务器。但是,它似乎不支持客户端身份验证。

M2Crypto似乎是一个非常完整的库,它支持所有形式的 SSL 身份验证,但是我还没有找到如何使用 M2Crypto 设置 python Web 服务器进行 SSL 客户端身份验证的详细示例。

pyOpenSSL似乎已经死了。

我还找到了一个食谱,它解释了如何使用 SSL 设置 python web 服务器。然而...

使用这个秘籍,只有服务器被认证,而客户端保持未认证(即服务器不会请求客户端证书)。

来源:http ://code.activestate.com/recipes/442473-simple-http-server-supporting-ssl-secure-communica/

有人可以指出我正确的方向或链接到我正在尝试做的有据可查的实施吗?

谢谢 :)

0 投票
1 回答
368 浏览

python - M2Crypto 通用名称字段和 ip 关系

我使用 M2Crypto,客户端和服务器都添加了密钥和证书,没有权限!!!现在我发现该字段 Common Name 应该设置为 domain 或任何东西,只要它在双方都是相同的。当 python 脚本是 sun 时,如果 key 没有与其 ip 相同的 Common Name 字段,我会遇到问题,它不会工作。机器 ip 和 Common Name 字段之间是否有任何联系,因为我没有使用权限?

0 投票
1 回答
1611 浏览

python - Python M2Crypto SSL:无法获取本地颁发者证书

我正在尝试使用 X509 certs/M2Crypto.SSL 进行对等身份验证

  1. 我在客户端 (hostC) 上生成一个根 CA (issuer & subject = ca_hostC)

  2. 我使用此 CA 在本地签署客户端证书(颁发者:ca_hostC,主题:hostC)

  3. 我在 hostS 上生成 CSR,将其复制到 hostC,使用步骤 1 中的根 CA 对其进行签名,然后将 ca_cert 和签名证书移动到 hostS。

我生成上下文:

我连接:

但在我得到的客户端上

但是,当我打印从服务器收到的证书的主题和颁发者时,我看到了正确的信息。此外,可以从 openssl 命令行实用程序验证证书。

有什么想法吗??

0 投票
2 回答
2013 浏览

python - 使用 Python/M2Crypto 进行 SAML 签名验证

我正在尝试使用 M2Crypto 来验证从我的 django/python 应用程序中的 SSO/SAML 提供程序返回的 XML 响应中包含的签名,但我似乎无法让它工作。

我的 XML 响应看起来有点像这里的第二个示例。

ETA:我的实际 XML 的粘贴箱。

我正在使用这样的代码来尝试验证:

我可以从响应中成功获取 NameID,并且我知道我已成功加载证书,因为我可以从中拉出颁发者等。

不过,至于签名,我尝试过对传入的 XML 进行散列处理,对各种片段进行编码/不编码,并为signed_info参数(SignedInfo 标记、响应标记、整个东西)传入各种 XML 位,然后我'已经尝试使用 ElementTree/ ElementC14N.py来确保 XML 完全规范化,正如转换所暗示的那样,应该完成,但我没有得到积极的结果。

我在这里想念什么?我是否试图针对错误的 XML 进行验证?我的验证技术有问题吗?

0 投票
4 回答
10884 浏览

python - 如何让 Python m2Crypto 与 virtualenv 一起使用?

我正在尝试安装 M2Crypto,以便我可以在我的网络应用程序中生成 pkey。我的托管要求规定我必须使用 pip 来安装任何依赖项。在系统级别安装 m2crypto 对我来说不是一个选项。我在开发中使用 Mint 12 并将部署到 heroku。

错误:命令 'swig' failed with exit status 1看起来像问题,但谷歌没有帮助。想法?

倾倒