我需要使用PEM格式的公钥来达到某种目的,但不能find可以将DER格式的公钥转换为PEM格式的公钥的命令。
我用过的命令 –
openssl rsa -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
实际上,这个命令需要私钥作为input。 但是我得到了下面的错误 –
无法加载私钥139901900170912:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记:tasn_dec.c:1337:139901900170912:错误:0D08303A:asn1编码例程:ASN1_TEMPLATE_NOEXP_D2I:嵌套asn1错误:tasn_dec.c:677:139901900170912:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误标记:tasn_dec.c:1337:139901900170912:错误:0D07803A:asn1编码例程:ASN1_ITEM_EX_D2I:嵌套asn1错误:tasn_dec.c:388:Type = RSA
我的预期产出应该是这种格式 –
—–开始RSA公钥—–
主要内容
—–结束RSA公共密钥—–
有没有人试过相同的?
您应该为公共密钥input添加-pubin
。
openssl rsa -pubin -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
编辑:要处理PEM RSA PUBLIC KEY
-RSAPublicKey_in
格式,请指定-RSAPublicKey_in
-RSAPublicKey_out
。
openssl rsa -RSAPublicKey_in -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem -RSAPublicKey_out
如果您想将OpenSSH公钥转换为PEM RSA PUBLIC KEY
,只需使用ssh-keygen
。
ssh-keygen -f user_id_rsa.pub -e -m PEM > pubkey.pem