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.
Antworten
Zu viele Anzeigen?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
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
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.
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
- See previous answers
- Weitere Antworten anzeigen