pyOpenSSL 创建 pem 文件

2023-11-25

我在 python 中使用以下代码和 pyOpenSSL 创建了一个密钥对:

from OpenSSL import crypto
k = crypto.PKey()
k.generate_key(crypto.TYPE_RSA, 2048)
  1. 现在如何从密钥对象创建私钥和公钥 .pem 文件?
  2. 如果有任何可用的教程请告诉我。我没有找到。从手册中,很难知道,因为我是 OpenSSL 的新手。
  3. 如果 RSA 中没有使用特定的唯一密钥,那么相同的代码创建两个相同的密钥对的可能性有多大?

我知道这是一个老问题 - 但由于我刚刚发现它,我想我应该添加一个答案。

使用 Python 3.x 执行此操作的最简单方法是使用PyCryptodome.

Python 中的(对于 2048 位密钥):

from Cryptodome.PublicKey import RSA
key = RSA.generate(2048)
pv_key_string = key.exportKey()
with open ("private.pem", "w") as prv_file:
    print("{}".format(pv_key_string.decode()), file=prv_file)

pb_key_string = key.publickey().exportKey()
 with open ("public.pem", "w") as pub_file:
    print("{}".format(pb_key_string.decode()), file=pub_file)

如果您想在 (Linux) 命令行上检查私钥,请使用:

$ openssl rsa -check -inform pem -noout -in private.pem 
RSA key ok
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyOpenSSL 创建 pem 文件 的相关文章

随机推荐