我想将现有的公共密钥(使用生成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
然后使用将其转换为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)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句