使用Python OpenSSL从私钥获取公钥
我用pyOpenSSL生成了一个私钥,代码如下:
from OpenSSL import crypto
k = crypto.PKey()
k.generate_key(crypto.TYPE_RSA, 2048)
print crypto.dump_privatekey(crypto.FILETYPE_PEM, k)
我该如何从这个私钥中获取公钥字符串呢?我还没找到这个库中哪个方法可以做到这一点。谢谢!
2 个回答
1
更新:现在有了直接获取公钥的方法。
key = crypto.PKey()
key.generate_key(crypto.TYPE_RSA, 2048)
publickey_contents = crypto.dump_publickey(crypto.FILETYPE_PEM, key)
使用这个方法 dump_publickey
,你就可以得到你想要的东西。
3
如果
cert = crypto.dump_certificate(crypto.FILETYPE_PEM, k)
不能满足你的需求,那么看起来 pyOpenSSL
并不支持导出公钥。有一个未合并的分支,在这里,它添加了这个功能,但我不能保证它真的能按预期工作。