既存の公開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)として保持する必要があります。