Проверка отпечатка SSL-сертификата?

26

Я играю с агентом Puppet и мастером Puppet, и я заметил, что утилита Cert 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

Как мне убедиться, что это правильный ключ?

На агенте Puppet, получение sha256sumдает мне что-то кардинально другое:

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

Если я правильно помню, сертификаты предоставляют контрольные суммы своих открытых ключей в самих файлах ключей. Как я могу получить доступ к отпечаткам пальцев ключей?

Нафтули Кей
источник
1
Отпечаток сертификата не является хэшем файла pem, он рассчитывается на основе определенных полей в сертификате, расположенных в определенном формате и порядке.
Добес Вандермер

Ответы:

39

Утилита командной строки OpenSSL может использоваться для проверки сертификатов (и закрытых ключей, и многих других). Чтобы увидеть все в сертификате, вы можете сделать:

openssl x509 -in CERT.pem -noout -text

Чтобы получить отпечаток SHA256, вы должны сделать:

openssl x509 -in CERT.pem -noout -sha256 -fingerprint
derobert
источник
1
unable to load certificate 140640672884384:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATEЛюбые идеи?
Нафтули Кей
@NaftuliTzviKay Может быть, они не в формате PEM. Как выглядят файлы? (или, вы можете сгенерировать тест тот , который вы не будете использовать, и разместить его где - нибудь?)
derobert
Вот открытый ключ, упомянутый в оригинальном сообщении: pastebin.com/ae2Qtexc
Naftuli Kay
@NaftuliKay вам нужно иметь свой сертификат в форме pem.
M_AWADI
9

Лучший способ подтвердить отпечаток пальца агента, по крайней мере, в Puppet 3.6, - запустить следующую команду в вашем агенте:

puppet agent --fingerprint
mpaf
источник