web-dev-qa-db-fra.com

Vérification de l'empreinte digitale d'un certificat SSL?

Je joue avec un agent Puppet et un maître Puppet et j'ai remarqué que l'utilitaire Puppet cert fournit une empreinte digitale pour la clé publique de mon agent car il a demandé à être signé:

$ 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

Comment vérifier que c'est la bonne clé?

Sur l'agent Puppet, prendre un sha256sum me donne quelque chose de radicalement différent:

$ sha256sum /var/lib/puppet/ssl/public_keys/dockerduck.pem
f1f1d198073c420af466ec05d3204752aaa59ebe3a2f593114da711a8897efa3

Si je me souviens bien, les certificats fournissent des sommes de contrôle de leurs clés publiques dans les fichiers de clés eux-mêmes. Comment accéder à une ou plusieurs empreintes digitales de clés?

27
Naftuli Kay

L'utilitaire de ligne de commande OpenSSL peut être utilisé pour inspecter les certificats (et les clés privées, et bien d'autres choses). Pour tout voir dans le certificat, vous pouvez faire:

openssl x509 -in CERT.pem -noout -text

Pour obtenir l'empreinte SHA256, vous devez:

openssl x509 -in CERT.pem -noout -sha256 -fingerprint
41
derobert

La meilleure façon de confirmer l'empreinte digitale de l'agent, au moins dans Puppet 3.6, est d'exécuter la commande suivante dans votre agent:

puppet agent --fingerprint
9
mpaf