Conoscenza dell'algoritmo di firma del certificato di un sito remoto che utilizza OpenSSL

1

Ho provato a conoscere "Algoritmo per la firma del certificato" (SHA1 con RSA, ecc.) usando openssl.

Per cominciare ho provato a vedere il certificato usando il seguente comando, ma non mostra alcun dettaglio dell'algoritmo di registrazione.

echo | openssl s_client -showcerts -connect <myhost>:443

C'è un modo in cui posso saperlo usando un singolo comando?

    
posta Novice User 06.10.2014 - 21:26
fonte

1 risposta

1

Esegui il pipe dell'output da openssl s_client (che include il certificato in formato PEM) in openssl x509 -noout -text e fornisce una visualizzazione leggibile dagli umani dei campi cert, compreso il algo della firma (in due punti). Non hai bisogno del passo sed -n /BEGIN/,/END/p ; la maggior parte delle operazioni OpenSSL su dati in formato PEM, incluso questo, ignorano i dati "extra" al di fuori del blocco PEM. (Questo NON è vero per molti altri programmi.) -showcerts è inutile in questo caso, poiché viene visualizzato solo il primo cert, che è il certificato del server.

Per essere precisi, questo è il segno utilizzato su il server per la CA che ha emesso il certificato. Non viene eseguito o addirittura controllato direttamente dal server.

Se vuoi esaminare tutta la catena non solo il server cert, devi fare -showcerts e devi eseguire openssl x509 ... separatamente su ogni certificato; un modo semplice ma alquanto grezzo è

echo | openssl s_client ... | \
awk 'BEGIN{p="openssl x509 -noout -text"} {print |p} /-----END/{close(p)}'
    
risposta data 07.10.2014 - 12:16
fonte

Leggi altre domande sui tag