如何将私钥转换为RSA私钥?

问题描述 投票:0回答:4

我先解释一下我的问题。我从 CA 购买了证书,并使用以下格式生成 csr 和私钥:

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

当我打开 server.key 文件时,我看到它以“-----BEGIN PRIVATE KEY-----”开头

我在我的服务器上使用 SSL 证书,一切看起来都很好。

现在我想将相同的证书上传到 AWS IAM,以便我可以通过 beanstalk 负载均衡器使用它。我使用此 aws 文档中的以下命令http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth

iam-servercertupload -b public_key_certificate_file  -k privatekey.pem -s certificate_object_name

我根据需要更改了证书文件名,但不断收到此错误:“400 MalformedCertificate Invalid Private Key。”

有趣的是,在 aws 文档页面上,他们显示的示例私钥以“--------Begin RSA Private Key--------”开头

有没有办法使用 openssl 将我的私钥转换为 RSA 私钥?

ssl openssl ssl-certificate amazon-iam
4个回答
211
投票

较新版本的 OpenSSL 说

BEGIN PRIVATE KEY
,因为它们包含私钥 + 标识密钥类型的 OID(这称为 PKCS8 格式)。要获取旧式密钥(称为 PKCS1 或传统 OpenSSL 格式),您可以执行以下操作:

openssl rsa -in server.key -out server_new.key

如果您使用的是 OpenSSL 3,则需要添加

-traditional
:

openssl rsa -in server.key -out server_new.key -traditional

或者,如果您有 PKCS1 密钥并想要 PKCS8:

openssl pkcs8 -topk8 -nocrypt -in privkey.pem

37
投票

这可能会有所帮助(不要在命令中逐字写出反斜杠“\”,它们的意思是“所有内容都必须在一行上”):

Which Command to Apply When

似乎所有命令(灰色)都将任何类型的密钥文件(绿色)作为“in”参数。这很好。

以下是更容易复制粘贴的命令:

openssl rsa                                                -in $FF -out $TF
openssl rsa -aes256                                        -in $FF -out $TF
openssl pkcs8 -topk8 -nocrypt                              -in $FF -out $TF
openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF

openssl rsa -check -in $FF
openssl rsa -text  -in $FF

30
投票

要将

BEGIN OPENSSH PRIVATE KEY
转换为
BEGIN RSA PRIVATE KEY
:

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

0
投票

-----开始 RSA 私钥-----

MIICWgIBAAKBgFoy UL5VpIH+HS3LfMCmP37rlRPhBoFTqmJNTRL4NrBCJS2RIBAS 3dKkzvfCA7OzBUeqvn+kpdk1d3lYC2q8xAID Trskbu149YwiNRZU8ekJmuGexID4 tVRckkjzQjxkvJqRloyLnma h ZNP14k+1AgbJOokQxXYr8NF34lp7/F 7/F4y1HAgMBAAEC 9YBLpof1X0q1Squ47NUAVrItyHbsDLTDJ6Vj/QjoH3Dn2SOMMdycFLYfalPoxywJ v+Bu46YUNMuz7KgBDTvOVPVm5s8etnw+XUIuoKizDj7SjEvHPA vZziotz6i9Cw30 q4GGXs+YWLaQWqjd4er00MJp42CrAvJP7vfSPg2rnfoB8QJBAKbLNAU/lazHi42k DoRiSNNHuQaSs77kmjrVWpn38M9xubpzOFpI2LzrJKMv21iL+b1lv24x4moizcZo 91 6WnV8CQQCKb7QYuypa6H5fD4Z7C4uA9TMqrhtl75M97v/2aljQ7w1XVPdiSfwT 9ztAAZrxGKU6QI3Uz3FPW/A3KPL21ZEZAkBbF4Akz6Uex5wfrwl+027CdNlIDbas +nyAxSTGEfMiWCnm+iY8qKw 2APXxaaGRqmCqT6C8veG5tWhMg6e7cOZhAkAzvtfs 0897JegbtasL69PeHLncTf/9vtFus547lrlMTszq1WoDT5jFWĺbw1/ GrGID22WJ9 Xw/DP2tulN41aQq5AkAoMXItzrNCwqVzmQbGolG9FY9dGfgKPDeWBZDdsVZ1FO/p xt4a/Hej68hkJK40Acr4sqJDkHqfdlFKc8UdPM/F

-----结束 RSA 私钥-----

© www.soinside.com 2019 - 2024. All rights reserved.