3

我有一个 kwm(WebMoney 密钥)文件。我使用相关的密钥提取器来提取 RSA 密钥。

提取的数据具有以下 XML 结构:

<RSAKeyValue>
    <Modulus>modulus data</Modulus>
    <D>more data</D>
</RSAKeyValue> 

我需要从此 XML 导出 PrivateKey,以便我可以使用OpenSSL该 PrivateKey 对数据进行签名

我找到了一个.Net 解决方案,它展示了如何提取私钥。但我没能做到这一点python OpenSSL

如何获取 PrivateKey 数据python OpenSSL

注意:我已经使用OpenSSLpfx文件中加载 PrivateKey,OpenSSL.crypto.load_pkcs12(<pfx_file>).get_privatekey()但我无法从上述 XML 数据中提取 PrivateKey。

4

1 回答 1

1

我不认为你可以直接OpenSSL.crypto.PKey从你可用的信息中构造一个实例。该格式为您提供了 RSA 私钥 的模数d 。这是组成 RSA 私钥的两个数字。信息完整,但不是 pyOpenSSL 支持的格式。

pyOpenSSL 可以从 PEM 文件加载 RSA 私钥。它不能直接从模数d值初始化一个。(顺便说一句,这是因为 OpenSSL 本身不鼓励应用程序对关键对象的组件进行操作。)

相对较新的密码学项目,自 pyOpenSSL 0.14 以来的 pyOpenSSL 依赖项,可能有一天会帮助您,尽管我认为它还不支持 RSA。

于 2014-02-26T17:13:29.867 回答