将.pem私钥转换为.key格式

3

我有一个以.pem格式存储的私钥,希望将其转换为.key格式。是否有任何方法可以实现?

我正在参考谷歌提供的指南,了解如何为SSO生成证书和私钥。

我使用openssl命令生成了私钥:

openssl genrsa -out rsaprivkey.pem 1024

我应该怎样获取以.key格式保存的私钥?


Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎不属于编程或开发范畴。请参阅帮助中心中的我可以在这里问什么样的问题。也许超级用户Unix&Linux Stack Exchange更适合提问。 - jww
1个回答

15

没有.key格式。您可以在PEM或DER编码中拥有私有(或公共)密钥。您也可以在PKCS#1或PKCS#8格式中拥有私钥。扩展名(.der、.pem、.key、.cer等)仅用于方便识别其内部内容(我们希望相信内容与所使用的扩展名相对应)。

命令openssl genrsa -out rsaprivkey.pem 1024生成了PKCS#1格式和PEM编码的私钥。在您提到的指南中,还需要执行其他步骤:

openssl rsa -in rsaprivkey.pem -pubout -outform DER -out rsapubkey.der
openssl pkcs8 -topk8 -inform PEM -outform DER -in rsaprivkey.pem -out rsaprivkey.der -nocrypt

第 1 步从 rsaprivkey.pem 中提取公钥并以 DER 格式编码。第 2 步将私钥从 PKCS#1 转换为 PKCS#8 格式(未加密)和 DER 编码。

该指南还提到,某些 Java SSO 示例需要 DSA 密钥。您使用 openssl genrsa -out rsaprivkey.pem 1024 生成的密钥是 RSA 密钥。


这是彻头彻尾的错误。.key 是一种格式,实际上它就是 OpenSSL 使用的格式:https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs 这里有一个来自真正懂行的人的答案:https://stackoverflow.com/questions/55874483/converting-binary-private-key-into-pem-format?rq=1 - Austin Capobianco

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