我有证书mycert.pem
。我通过命令获得了证书的公钥:
openssl x509 -pubkey -noout -in mycert.pem > pubkey.pem
如何获取公钥的 SHA256 哈希?
您可以使用 ssh-keygen。先转换文件格式
ssh-keygen -i -m PKCS8 -f pubkey.pem > NEWpubkey.pem
接下来获取指纹
ssh-keygen -lf NEWpubkey.pem
获取类型推断
2048 SHA256:hYAU9plz1WZ+H+eZCushetKpeT5RXEnR8e5xsbFWRiU 无评论 (RSA)
openssl-pubkey
以 PEM 格式输出密钥(即使您使用-outform DER
)。
假设您有一个 RSA 公钥,您必须将密钥转换为 DER 格式(二进制),然后获取其哈希值:
openssl rsa -in pubkey.pem -pubin -outform der | openssl dgst -sha256
您可以:
使用以下命令直接从证书文件生成sha256sum
:
openssl x509 -pubkey -noout -in <your-certificate-filename>.pem | openssl dgst -sha256
或者
使用这个简单的命令生成证书的公钥:
openssl x509 -pubkey -noout -in <your-certificate-filename>.pem > <public-key-filename>.pem
并使用以下命令进行验证:
cat <public-key-filename>.pem | sha256sum