536 Stimmen

Wie lässt sich das Ablaufdatum eines SSL-Zertifikats aus einem im PEM-Format codierten Zertifikat bestimmen?

Wenn ich die tatsächliche Datei und eine Bash-Shell in Mac oder Linux habe, wie kann ich die Zertifikatsdatei abfragen, um herauszufinden, wann sie abläuft? Nicht eine Website, sondern tatsächlich die Zertifikatsdatei selbst, vorausgesetzt ich habe die CSR-, Schlüssel-, PEM- und Ketten-Dateien.

15voto

Srihari Karanth Punkte 1837

Wie die akzeptierte Antwort, aber beachten Sie, dass es auch mit der .crt Datei und nicht nur mit der .pem Datei funktioniert, nur für den Fall, dass Sie den Speicherort der .pem Datei nicht finden können.

openssl x509 -enddate -noout -in e71c8ea7fa97ad6c.crt

Ergebnis:

notAfter=29. März 06:15:00 2020 GMT

8voto

Alexey Punkte 591

Eine Zeile, die überprüft, ob das Zertifikat der Domäne in einiger Zeit abläuft (z.B. 15 Tage):

openssl x509 -checkend $(( 24*3600*15 )) -noout -in <(openssl s_client -showcerts -connect my.domain.com:443 /dev/null | openssl x509 -outform PEM)
if [ $? -eq 0 ]; then
  echo 'gut'
else
  echo 'schlecht'
fi

2voto

Donald.M Punkte 96

Für MAC OSX (El Capitan) hat diese Modifikation des Beispiels von Nicholas für mich funktioniert.

for pem in /Pfad/zu/Zertifikaten/*.pem; do
    printf '%s: %s\n' \
        "$(date -jf "%b %e %H:%M:%S %Y %Z" "$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" +"%Y-%m-%d")" \
    "$pem";
done | sort

Beispiel-Ausgabe:

2014-12-19: /Pfad/zu/Zertifikaten/MDM_Certificate.pem
2015-11-13: /Pfad/zu/Zertifikaten/MDM_AirWatch_Certificate.pem

macOS mochte die Flags --date= oder --iso-8601 auf meinem System nicht.

1voto

Attila123 Punkte 824

Wenn Sie aus irgendeinem Grund eine GUI-Anwendung in Linux verwenden möchten, verwenden Sie gcr-viewer (in den meisten Distributionen ist es im Paket gcr installiert (ansonsten im Paket gcr-viewer))

gcr-viewer datei.pem
# oder
gcr-viewer datei.crt

0voto

Zeeshan Jamal Punkte 21

Ich habe ein Bash-Skript dazu erstellt, um zu überprüfen, ob das Zertifikat abgelaufen ist oder nicht. Sie können es bei Bedarf verwenden.

Skript

https://github.com/zeeshanjamal16/usefulScripts/blob/master/sslCertificateExpireCheck.sh

ReadMe

https://github.com/zeeshanjamal16/usefulScripts/blob/master/README.md

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X