bg-tutorials

So prüfen Sie das Ablaufdatum eines SSL-Zertifikats mit OpenSSL

SSL-Zertifikate haben eine begrenzte Gültigkeitsdauer und müssen regelmäßig erneuert werden, um von Browsern weiterhin als vertrauenswürdig eingestuft zu werden. Öffentliche Zertifikate, die nach dem 15. März 2026 ausgestellt werden, sind auf 200 Tage begrenzt, wobei die maximale Gültigkeitsdauer ab dem 15. März 2027 auf 100 Tage und ab dem 15. März 2029 auf 47 Tage sinkt. Wenn Sie genau wissen, wann ein Zertifikat abläuft, können Sie es rechtzeitig erneuern und Ausfälle vermeiden.

Diese Anleitung zeigt Ihnen, wie Sie das Ablaufdatum eines Zertifikats mit OpenSSL überprüfen: für einen laufenden Server, für eine lokale Datei, und wie Sie prüfen, ob ein Zertifikat bald abläuft.

Kurze Antwort:

Für eine laufende Website führen Sie Folgendes aus:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate. 

Für eine Zertifikatsdatei führen Sie Folgendes aus:

openssl x509 -in your_certificate.pem -noout -enddate. 

Der Wert notAfter ist das Ablaufdatum.

Methode 1: Ein Zertifikat auf einem laufenden Server überprüfen

Diese Methode verbindet sich mit einer laufenden Website und liest das von ihr bereitgestellte Zertifikat aus; Sie benötigen die Zertifikatsdatei dafür nicht. Sie funktioniert für jeden erreichbaren Host (eine externe Domain oder localhost mit dem richtigen Port für einen lokalen Server).

Unter Linux und macOS

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate

Ersetzen Sie yourdomain.com durch Ihre eigentliche Domain. Die Befehle sind unter macOS identisch, da macOS Unix-ähnlich ist (das integrierte openssl ist LibreSSL, das diese Optionen unterstützt).

Unter Windows

  • Öffnen Sie die Eingabeaufforderung oder PowerShell (drücken Sie Win + R, geben Sie cmd oder powershell ein und drücken Sie die Eingabetaste).
  • Führen Sie Folgendes aus:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate

Verwenden Sie unter Windows 2>nul anstelle von 2>/dev/null, um Fehlermeldungen zu verwerfen.

Methode 2: Ein Zertifikat aus einer PEM-Datei überprüfen

Eine PEM-Datei ist ein base64-codiertes Zertifikat, das mit —–BEGIN CERTIFICATE—– beginnt und mit —–END CERTIFICATE—– endet. Verwenden Sie diese Methode, wenn Sie die Zertifikatsdatei auf der Festplatte haben.

Unter Linux und macOS

Wechseln Sie in den Ordner, der Ihr Zertifikat enthält, und lesen Sie dann das Ablaufdatum aus (ersetzen Sie your_certificate.pem durch Ihren Dateinamen):

cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate

Unter Windows

cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate

Stellen Sie sicher, dass OpenSSL installiert und in Ihrem PATH verfügbar ist; andernfalls geben Sie den vollständigen Pfad zur openssl.exe-Datei an.

Beide Daten anzeigen oder prüfen, ob ein Zertifikat bald abläuft

Um sowohl das Ausstellungsdatum (notBefore) als auch das Ablaufdatum (notAfter) anzuzeigen, verwenden Sie -dates anstelle von -enddate:

openssl x509 -in your_certificate.pem -noout -dates

Um zu prüfen, ob ein Zertifikat innerhalb eines bestimmten Zeitraums abläuft, verwenden Sie -checkend mit einer Anzahl von Sekunden (hier: 2592000 Sekunden = 30 Tage):

openssl x509 -in your_certificate.pem -noout -checkend 2592000

Es gibt entweder Certificate will not expire (und beendet sich mit Status 0) oder Certificate will expire (Status 1) aus — was es ideal für Überwachungsskripte und Cron-Jobs macht.

Den Befehl und die Ausgabe verstehen

Nehmen Sie den Befehl für den laufenden Server und seine Ausgabe als Beispiel:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate

Ausgabe:

notAfter=Sep 15 23:59:59 2026 GMT

Hier ist, was jeder Teil bewirkt:

  • echo | — sendet eine leere Eingabe, damit der Befehl abgeschlossen wird, ohne auf Interaktion zu warten.
  • openssl s_client — öffnet eine SSL/TLS-Verbindung zum Server.
  • -servername example.com — setzt die Server Name Indication (SNI), die erforderlich ist, wenn ein Server mehrere Zertifikate für verschiedene Domains hostet.
  • -connect example.com:443 — der Host und Port, mit dem eine Verbindung hergestellt wird (Port 443 ist der Standard-HTTPS-Port).
  • 2>/dev/null (Linux/macOS) oder 2>nul (Windows) — verwirft Fehlermeldungen, sodass nur die relevante Ausgabe angezeigt wird.
  • | openssl x509 -noout -enddate — leitet das Zertifikat an das x509-Tool weiter; -noout unterdrückt die PEM-Ausgabe und -enddate gibt nur das Ablaufdatum aus.
  • notAfter=… — das Datum und die Uhrzeit, ab denen das Zertifikat nicht mehr gültig ist.

Automatisieren Sie es: Hören Sie auf, Daten manuell zu verfolgen

Anstatt Ablaufdaten manuell zu überprüfen — besonders da sich die Gültigkeitsdauern in Richtung 47 Tage verkürzen — können Sie ACME als Certificate-as-a-Service (CaaS) nutzen. Es übernimmt die Domain-Validierung, installiert Zertifikate und erneuert sie automatisch, bevor sie ablaufen, sodass Ihre Website ohne manuellen Eingriff vertrauenswürdig bleibt.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.