【问题标题】:Obtaining PrivateKey from Modulus and D in RSAKey data XML从 RSAKey 数据 XML 中的 Modulus 和 D 获取 PrivateKey
【发布时间】:2014-02-27 01:13:29
【问题描述】:

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

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

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

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

我找到了一个.Net solution,它显示了如何提取私钥。但是我在python OpenSSL中没有做到这一点

如何通过python OpenSSL获取PrivateKey数据?

注意:我已经使用OpenSSL 从使用OpenSSL.crypto.load_pkcs12(&lt;pfx_file&gt;).get_privatekey()pfx 文件中加载PrivateKey,但是我无法从上述XML 数据中提取PrivateKey。

【问题讨论】:

  • 请告诉我们你在 python 中的尝试。它归结为从模数和私有指数 (D) 为 python openssl 库创建一个私钥。
  • @owlstead 我对加密没有多少经验。我查了OpenSSL的方法和函数,但找不到有用的东西。
  • 尝试在pycrypto中使用这个函数:pythonhosted.org//pycrypto/…

标签: python encryption rsa pyopenssl


【解决方案1】:

我认为您不能直接根据您可用的信息构造OpenSSL.crypto.PKey 实例。该格式为您提供了 RSA 私钥的 modulusdThese are the two numbers that make up an RSA private key。信息完整,但不是pyOpenSSL支持的格式。

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

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

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 2014-12-15
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多