验证 SSL 证书的指纹?

Naf*_*Kay 36 openssl certificates puppet

我正在玩弄一个 Puppet 代理和一个 Puppet 主机,我注意到 Puppet 证书实用程序为我的代理的公钥提供了指纹,因为它要求签名:

$ puppet cert list
  "dockerduck" (SHA256) 1D:72:C5:42:A5:F4:1C:46:35:DB:65:66:B8:B8:06:28:7A:D4:40:FA:D2:D5:05:1A:8F:43:60:6C:CA:D1:FF:79
Run Code Online (Sandbox Code Playgroud)

我如何验证这是正确的密钥?

在 Puppet 代理上,使用 asha256sum给了我截然不同的东西:

$ sha256sum /var/lib/puppet/ssl/public_keys/dockerduck.pem
f1f1d198073c420af466ec05d3204752aaa59ebe3a2f593114da711a8897efa3
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,证书会在实际的密钥文件中提供其公钥的校验和。我怎样才能访问钥匙指纹?

der*_*ert 53

OpenSSL 命令行实用程序可用于检查证书(和私钥以及许多其他内容)。要查看证书中的所有内容,您可以执行以下操作:

openssl x509 -in CERT.pem -noout -text
Run Code Online (Sandbox Code Playgroud)

要获取 SHA256 指纹,您需要执行以下操作:

openssl x509 -in CERT.pem -noout -sha256 -fingerprint
Run Code Online (Sandbox Code Playgroud)

  • 以防万一有人偶然发现这一点,并且发现您正在查看的哈希值比您正在检查的哈希值长,请尝试其他哈希算法,例如“-sha1”而不是“-sha256” (2认同)

小智 10

至少在 Puppet 3.6 中,确认代理指纹的最佳方法是在您的代理中运行以下命令:

puppet agent --fingerprint
Run Code Online (Sandbox Code Playgroud)