如何将DER格式的公钥文件转换为PEM格式

我需要使用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