想问问 Python 如何用 RSA 的私钥生成一个对应的公钥?

2021-03-04 13:33:07 +08:00
 Wait845

查了很多资料,都没有找到相关的回答。python 用的是 rsa 模块 http://tool.chacuo.net/cryptgetpubkey 这个网站提供这个服务,说明是有可行性的,希望大家能帮帮忙

783 次点击
所在节点    问与答
4 条回复
itskingname
2021-03-04 14:07:41 +08:00
os.system('openssl rsa -in mykey.pem -pubout > mykey.pub')
honeycomb
2021-03-04 14:13:59 +08:00
一般来说生成好的 RSA 私钥的封装同时会包含公钥(当然也可以把其中的公钥剥离),生成公钥其实就是把这个公钥提取出来,储存为合适的封装形式
rrfeng
2021-03-04 14:21:06 +08:00
理论上:不可以,公钥私钥成对出现,是对称的并无区分,只是认为的定义一个保密一个公开。你无法从公钥推算私钥,也无法从私钥推算公钥,这是非对称加密算法安全性的理论基石。

实际上:maybe 。因为私钥文件格式中包含了公钥内容。用 1 楼的方式可以取出来。
asilin
2021-03-04 14:47:49 +08:00
如果是想生成 OpenSSH 兼容的公钥,使用:ssh-keygen -f mykey.pem -y

如果是想生成 OpenSSL 兼容的公钥,使用:ssh-keygen -f mykey.pem -e -m pem

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758385

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX