-->

如何使用OpenSSL提取公钥?如何使用OpenSSL提取公钥?(How to extract pu

2019-05-12 21:53发布

下面的命令生成包含公共和私有密钥的文件:

openssl genrsa -des3 -out privkey.pem 2048

来源: 这里

OpenSSL的,该专用密钥包括公钥信息为好,这样一个公共密钥并不需要单独生成

我们怎样才能从中提取privkey.pem文件中的公钥?

谢谢。

Answer 1:

openssl rsa -in privkey.pem -pubout > key.pub

写入公钥key.pub



Answer 2:

虽然,上述技术适用于一般情况下,它并没有在亚马逊Web服务(AWS)PEM文件。

我发现在AWS文档以下命令作品: ssh-keygen -y

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

编辑整条生产线由于@makenova:

ssh-keygen -y -f key.pem > key.pub


Answer 3:

对于那些有兴趣在细节 - 你可以看到什么是公共密钥文件中(产生如上所述),这样做: -

openssl rsa -noout -text -inform PEM -in key.pub -pubin

或私钥文件,这一点: -

openssl rsa -noout -text -in key.private

其输出作为控制台上的文字键的实际组件(模数,指数,素数,...)



Answer 4:

如果您寻找如何将亚马逊AWS复制.pem密钥对到不同的区域做到以下几点:

openssl rsa -in .ssh/amazon-aws.pem -pubout > .ssh/amazon-aws.pub

然后

aws ec2 import-key-pair --key-name amazon-aws --public-key-material '$(cat .ssh/amazon-aws.pub)' --region us-west-2


Answer 5:

对于AWS导入现有的公共密钥,

  1. 从.PEM导出这样...(在Linux上)

     openssl rsa -in ./AWSGeneratedKey.pem -pubout -out PublicKey.pub 

这将产生,如果你在一个文本编辑器打开看起来像这样一个文件...

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/8y3uYCQxSXZ58OYceG
A4uPdGHZXDYOQR11xcHTrH13jJEzdkYZG8irtyG+m3Jb6f9F8WkmTZxl+4YtkJdN
9WyrKhxq4Vbt42BthadX3Ty/pKkJ81Qn8KjxWoL+SMaCGFzRlfWsFju9Q5C7+aTj
eEKyFujH5bUTGX87nULRfg67tmtxBlT8WWWtFe2O/wedBTGGQxXMpwh4ObjLl3Qh
bfwxlBbh2N4471TyrErv04lbNecGaQqYxGrY8Ot3l2V2fXCzghAQg26Hc4dR2wyA
PPgWq78db+gU3QsePeo2Ki5sonkcyQQQlCkL35Asbv8khvk90gist4kijPnVBCuv
cwIDAQAB
-----END PUBLIC KEY-----
  1. 然而AWS不会接受这个文件。

    你必须剥去-----BEGIN PUBLIC KEY----------END PUBLIC KEY-----从文件。 保存并进口,并应在AWS工作。



文章来源: How to extract public key using OpenSSL?