SSH公開鍵をPEM形式からDER形式に変換するには?

SSH公開鍵をPEM形式からDER形式に変換するには?

既存の公開ssh-keygen鍵(次を使用して生成されたもの)をPEM変換したいです。DER

私は試した:

openssl rsa -in ~/.ssh/id_rsa.pub -inform PEM -pubin -outform DER -out ~/.ssh/id_rsa.pub.der

残念ながら、次のエラーが発生します。

unable to load Public Key
139946985690784:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: PUBLIC KEY

このファイルには、次の~/.ssh/id_rsa.pub公開鍵が含まれています。cat ~/.ssh/id_rsa.pub

ssh-rsa ...... user@machine

私は何が間違っていましたか?

ベストアンサー1

OpenSSH公開鍵形式はPEM形式とは異なります。あなたは走らなければなりませんssh-keygenそれを変換します。

ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PEM >pubkey.pem

次に、次を使用してDER形式に変換します。openssl rsa

openssl rsa -RSAPublicKey_in -in pubkey.pem -inform PEM -outform DER -out ~/.ssh/id_rsa.pub.der -RSAPublicKey_out

また、-RSAPublicKey_in(いいえ-pubin)を指定し、-RSAPublicKey_outそれをRSA公開鍵(PKCS#1)として保持する必要があります。

おすすめ記事