Verifica dell'impronta digitale di un certificato SSL?


26

Sto giocando con un agente Puppet e un maestro Puppet e ho notato che l'utilità Puppet cert fornisce un'impronta digitale per la chiave pubblica del mio agente poiché ha richiesto di essere firmata:

$ 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

Come posso verificare che questa sia la chiave giusta?

Sull'agente Puppet, prendere un sha256summi dà qualcosa di drammaticamente diverso:

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

Se ricordo bene, i certificati forniscono i checksum delle loro chiavi pubbliche negli stessi file delle chiavi. Come posso accedere alle impronte digitali di una chiave?


1
L'impronta digitale del certificato non è l'hash del file pem, viene calcolata in base a campi specifici nel certificato disposti in un formato e ordine specifici.
Dobes Vandermeer,

Risposte:


39

L'utilità della riga di comando OpenSSL può essere utilizzata per ispezionare i certificati (e le chiavi private e molte altre cose). Per vedere tutto nel certificato, puoi fare:

openssl x509 -in CERT.pem -noout -text

Per ottenere l'impronta digitale SHA256, è necessario:

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

1
unable to load certificate 140640672884384:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATEQualche idea?
Naftuli Kay,

@NaftuliTzviKay Forse non sono in formato PEM. Come sono i file? (o, puoi generare un test che non utilizzerai e pubblicarlo da qualche parte?)
derobert

Ecco la chiave pubblica a cui si fa riferimento nel post originale: pastebin.com/ae2Qtexc
Naftuli Kay,

@NaftuliKay devi avere il tuo certificato in formato pem.
M_AWADI il

9

Il modo migliore per confermare l'impronta digitale dell'agente, almeno in Puppet 3.6, è eseguire il seguente comando nel proprio agente:

puppet agent --fingerprint
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.