问题标签 [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 回答
1502 浏览

java - 在 Python 中解密 Java 中的加密消息

我正在尝试在 Python(使用 M2Crypto)中解密使用此库在 Java 中生成的加密消息

我的代码(我实际上在这里找到的)可以解密自己加密的消息,但不是来自 Java 的库,我收到以下错误:

我已经尝试了 *aes_128_cbc* 和 *aes_128_ecb* 并且我得到了同样的错误。

我猜失败是Java的结果是Ascii的编码和Python的代码期待一些其他编码(因为它适用于base64)但我不知道在哪里进行更改(在我的Python代码中)。我愿意使用任何其他 Python 加密库。

谢谢

0 投票
3 回答
3210 浏览

python - 如何在 python 中验证 X509 证书,包括 CRL 检查?

我正在尝试使用 python 验证 X509 证书。特别是当我这样做时,我需要检查 CRL。

现在,您可以使用 m2crypto 来执行此操作,但我找不到对应于 openssl 的 -crl_check 或 -crl_check_all 的选项。

或者,我可以使用管道并直接调用 openssl:

但是,openssl verify 似乎总是返回一个退出代码 0,所以我必须以某种方式比较字符串来判断验证是否成功,我不想这样做。

我在这里错过了一些简单的东西吗?

谢谢。

0 投票
3 回答
56764 浏览

python - 如何使用 python 检索远程主机的 TLS/SSL 对等证书?

我需要扫描 IP 列表并从该 IP 上的证书中检索公用名(对于允许端口 443 连接的每个 IP)。我已经能够使用套接字和 ssl 模块成功地做到这一点。它适用于所有具有有效签名证书的 IP,但不适用于自签名证书。

如果我使用这种方法,它需要一个由我的 CA-bundle 验证的有效证书:

如果我删除它,cert_reqs=ssl.CERT_REQUIRED那么它会连接但根本没有获得证书。

无论是否针对 ca-bundle 进行验证,如何检索 IP 上证书的通用名称?

0 投票
2 回答
374 浏览

python - load_key 期间 64 位 centos m2crypto 崩溃

我正在尝试在 64 位 centos 5.6 和/或 rhel 5.6 上运行 m2crypto。我已经编译了 python 2.6 并放在一个单独的目录中(在 centos/rhel 上是必需的)。我已经尝试针对内置的 openssl 0.9.8e 编译 m2crypto 以及手动编译的 0.9.8e,并且行为是相同的。我什至尝试过 epel 的 python26 和 python26-m2crypto。它也会崩溃。

代码是:

密钥 foo(使用 openssl genrsa 生成,用于此测试):

同样的测试适用于 32 位(当然我们的应用程序经常使用它)。也许我用错误的 64 位选项编译了 python 或 openssl。两者都启用并安装了共享库,添加到 ldconfig 等。

有人有任何提示吗?有人在 64 位上成功运行 python26+m2crypto 吗?

0 投票
1 回答
368 浏览

m2crypto - M2Crypto 是否支持客户端服务器名称指示 (SNI)?

我有一个使用 M2Crypto 编写的 python SSL 客户端,我想添加SNI支持。

看起来像使用 OpenSSL 的人会使用 ```SSL_set_tlsext_host_name(ssl, servername)''' 但我没有看到 M2Crypto API 中公开了该函数。

我只是想念它还是有其他方法可以做到这一点?

0 投票
1 回答
218 浏览

python - M2Crypto 包的使用

我想加密 LabView 和 Python 代码之间的通信。我做了一些初步研究,发现了LabView 的AES 库。M2Crypto 模块支持 AES。

我的问题是 AES 是否是 TCP 通信的最佳解决方案。任何人都可以在python中提供一个简单的例子吗?

0 投票
1 回答
557 浏览

c# - M2Crypto 的 public_decrypt(block, padarg) 是否执行解密或验证?

我得到了一些似乎使用公钥来解密数据的 Python 代码。数据可能使用相应的私钥加密。(我不确定,因为使用私钥加密通常称为签名)。

如果我们有适当的公钥文件,下面给出的 Python 代码可以正常工作:

该方法public_decrypt(block, padarg)实际上做了什么?它是解密一些加密数据,还是只是验证它?

它在 C# 中的替代品是什么?

0 投票
1 回答
1119 浏览

python - PKCS #5 使用 m2crypto 填充

有没有办法在 m2crypto 中使用 PKCS #5 填充和 AES CBC?似乎不太容易找到一个。有没有可以做到这一点的python库?

还是我需要手动完成?如果是这样,是否有任何资源可以做到这一点?

0 投票
1 回答
468 浏览

openssl - RSACryptoServiceProvider 使用 m2crypto 进行消息签名验证

我收到了一条使用 .Net RSACryptoServiceProvider 签名的消息,然后将消息发送到 Python 软件,该软件尝试使用 m2crypto(基于 openssl 的库)验证签名。

我有公共证书,它是签名消息的私钥对。

在 .Net 软件发送 sing 之前,它使用 ByteArrayToString 对其进行转换,因为该符号是使用以下代码生成的:

所以发送给接收者的签名是

Python部分是:

而且我无法获得验证......我认为Python部分中的签名编码可能存在问题,但也许有人可以在这里看到任何其他错误?

当我使用自己的证书(使用 openssl 生成)并从 Python 本身对消息进行签名时,对签名进行编码、发送,然后解码并验证一切正常......

我将不胜感激任何评论!

0 投票
1 回答
983 浏览

python - 将 m2crypto 导入谷歌应用引擎

嘿,我在将 m2crypto 导入谷歌应用引擎时遇到了一些麻烦。我想我知道问题所在,但不知道如何解决。无论如何,这是我的目录结构。

当我这样做时from M2Crypto import EVP,我收到一条错误消息,上面写着<type 'exceptions.ImportError'>: No module named __m2crypto。此错误出现__init.py__在它尝试import __m2crypto在第 22 行的文件中。但 M2Crypto 目录中没有__m2crypto文件。

我正在使用 0.21.1 版的 M2Crypto,并且只将 M2Crypto 和 SWIG 复制到我的应用程序中。我还尝试将 M2Crypto-0.21.1.tar.gz 中的每个文件复制到我的应用程序中,但这也不起作用。提前致谢。