(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
何が悪いのですか?
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
も指定する必要があることに注意してください。