web-dev-qa-db-ja.com

DER形式の公開鍵ファイルをPEM形式に変換する方法

何らかの目的でPEM形式の公開鍵を使用する必要がありますが、DER形式の公開鍵をPEM形式の公開鍵に変換できるコマンドが見つかりません。

私が使用したコマンド-
openssl rsa -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem

実際、コマンドは入力として秘密鍵を期待しています。しかし、私は以下のエラーが発生しました-

秘密鍵139901900170912:error:0D0680A8:asn1エンコードルーチンをロードできません:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1337:139901900170912:error:0D08303A:asn1エンコードルーチン:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:ta00179_dec:13:0912:13エラー:0D0680A8:asn1エンコーディングルーチン:ASN1_CHECK_TLEN:間違ったタグ:tasn_dec.c:1337:139901900170912:エラー:0D07803A:asn1エンコーディングルーチン:ASN1_ITEM_EX_D2I:ネストされたasn1エラー:tasn_dec.c:388:Type = RSA

私の期待する出力はこの形式である必要があります-

----- RSA公開キーの開始-----
主な内容
----- END RSA PUBLIC KEY -----

誰かが同じことを試しましたか?

2
CodeQuestor

公開キー入力には-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
2
yaegashi