如何將 DER 格式的公鑰文件轉換為 PEM 格式
我需要出於某種目的使用 PEM 格式的公鑰,但沒有找到可以將 DER 格式的公鑰轉換為 PEM 格式的公鑰的命令。
我使用的命令 -
openssl rsa -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
實際上該命令期望私鑰作為輸入。但我收到以下錯誤 -
unable to load Private Key 139901900170912:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1337: 139901900170912:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error: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
我的預期輸出應該是這種格式-
—–BEGIN RSA PUBLIC KEY—–
密鑰內容
—–END RSA PUBLIC KEY—–
有沒有人嘗試過同樣的?
您應該添加
-pubin
公鑰輸入。openssl rsa -pubin -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
編輯:要處理 PEM
RSA PUBLIC KEY
格式,請-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