10

我有证书mycert.pem。我通过命令获得了证书的公钥

openssl x509 -pubkey -noout -in mycert.pem  > pubkey.pem

如何获取公钥的 SHA256 哈希?

4

3 回答 3

9

您可以使用 ssh-keygen。先转换文件格式

ssh-keygen -i -m PKCS8 -f pubkey.pem > NEWpubkey.pem

接下来获取指纹

ssh-keygen -lf NEWpubkey.pem

获取类型推断

2048 SHA256:hYAU9plz1WZ+H+eZCushetKpeT5RXEnR8e5xsbFWRiU 无评论 (RSA)

于 2020-02-05T16:46:42.373 回答
6

openssl-pubkey以 PEM 格式输出密钥(即使您使用-outform DER)。

假设您有一个 RSA 公钥,您必须将密钥转换为 DER 格式(二进制),然后获取其哈希值:

 openssl rsa -in pubkey.pem -pubin -outform der | openssl dgst -sha256
于 2018-03-19T14:42:11.640 回答
-2

可以

使用以下命令直接从证书文件生成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

于 2020-07-27T11:08:00.723 回答