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)}'