我使用下面的openssl命令将我的公钥存储到.pem文件中。
openssl> x509 -in E:/mycert.pem -pubkey -out E:/mypubkey.pem
但是当我尝试使用此命令时,它将整个证书信息存储在mypubkey.pem文件中。
我已经看到我可以使用
保存我的公钥openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem
但这是一个错误。我不能用“>”操作
答案 0 :(得分:112)
有几种方法可以做到这一点。
首先,不要进入openssl命令提示符模式,只需在Windows提示符下输入一个命令行中的所有内容:
E:\> openssl x509 -pubkey -noout -in cert.pem > pubkey.pem
如果由于某种原因,您必须使用openssl命令提示符,只需输入“>”之前的所有内容即可。然后OpenSSL将公钥信息打印到屏幕上。然后,您可以将其复制并粘贴到名为pubkey.pem的文件中。
openssl> x509 -pubkey -noout -in cert.pem
输出看起来像这样:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl
FQIDAQAB
-----END PUBLIC KEY-----
答案 1 :(得分:4)
如果是RSA密钥
openssl rsa -pubout -in my_rsa_key.pem
如果您需要openssh格式,请参阅Use RSA private key to generate public key?
请注意,公钥是从私钥生成的,ssh使用身份文件(私钥文件)生成公钥并将公钥发送给服务器,并通过身份文件中的私钥从服务器取消加密加密的令牌。