Befehlszeilentool zum Abrufen und Analysieren von SSL-Zertifikaten

7

Nach der Heartbleed-Sicherheitsanfälligkeit in openSSL wurden alle SSH-Zertifikate auf unseren Servern erneut ausgestellt und neu installiert.

Da wir wahrscheinlich etwas auf einem Server verpasst haben (z. B. Neustart von Apache), überprüfen wir die Server manuell, indem wir in Chrome auf das Schlüssellogo klicken:

Geben Sie hier die Bildbeschreibung ein

Dies ist langsam und fehleranfällig. Gibt es ein Befehlszeilentool, mit dem die Zertifikat-ID / Seriennummer von einem Server abgerufen werden kann?

Aktualisieren

Am Ende habe ich eine Variation der Antwort von MichelZ verwendet :

echo "" | openssl s_client -showcerts -status -verify 0 \
        -connect www.mydomain.com:443 2>&1 | \
        egrep "Verify return|subject=/serial"
  • echoist notwendig, um opensslzu beenden (es wartet auf Eingabe sonst).
  • -verify 0 überprüft das Zertifikat.
  • 2>&1 Leitet den Standardfehler zur Standardausgabe um
  • egrep zeigt nur den Validierungsstatus und die Seriennummer an.
Adam Matan
quelle
1
Vergessen Sie nicht, -servernamefür SNI(Angabe des Servernamens) zu verwenden, wenn Sie mehrere vhosts haben.
Minus

Antworten:

13

Sie können OpenSSL verwenden, um das Zertifikat abzurufen:

openssl s_client -showcerts -connect some_server:server_port
MichelZ
quelle
Vielen Dank. Ich habe Ihre Antwort an meine Bedürfnisse angepasst und es funktioniert perfekt. Vielen Dank!
Adam Matan