web-dev-qa-db-ja.com

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

ssh-keygenを使用して生成された)既存の公開鍵をPEM- formatからDER- formatに変換したい

私は試した:

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

何が悪いのですか?

7
Edward

OpenSSH公開鍵の形式はPEM形式とは異なります。変換するには ssh-keygen を実行する必要があります。

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

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

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

RSA公開鍵(PKCS#1)のままにするには、-RSAPublicKey_in-pubinではなく)と-RSAPublicKey_outも指定する必要があることに注意してください。

8
yaegashi