使用Python OpenSSL从私钥获取公钥

5

我使用pyOpenSSL生成私钥,代码如下:

from OpenSSL import crypto
k = crypto.PKey()
k.generate_key(crypto.TYPE_RSA, 2048)
print crypto.dump_privatekey(crypto.FILETYPE_PEM, k)

我该如何从中获取公钥字符串?我还没有找到这个库的哪个方法可以做到。谢谢。


你似乎已经在代码的最后一行打印出来了。正如@danodonovan在下面所说。编辑:抱歉,没有注意到。 - wrgrs
我打印了私钥,但我需要公钥。 - ScotchAndSoda
2个回答

3

如果

cert = crypto.dump_certificate(crypto.FILETYPE_PEM, k)

如果 pyOpenSSL 没有你想要的功能,那么似乎不支持公钥转储。这里有一个未合并的分支(点击此处),可以添加该功能,但我无法保证它是否符合预期。

1

更新: 现在它有直接获取公钥的方法。

key = crypto.PKey()
key.generate_key(crypto.TYPE_RSA, 2048)
publickey_contents = crypto.dump_publickey(crypto.FILETYPE_PEM, key)

使用dump_publickey方法,您可以获得所需内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接