Zum Inhalt springen
ecdsa.com
rustls 0.23 (via reqwest, ureq, hyper-rustls)Rust

Fehlermeldung

invalid peer certificate: certificate expired: verification time

Vollständige Form: „invalid peer certificate: certificate expired: verification time <unix> (UNIX), but certificate is not valid after <unix> (<n> seconds ago)“. Frühere rustls-Releases gaben nur den Namen der Variante aus („invalid peer certificate: Expired“). Zertifikate, die noch nicht gültig sind, erzeugen eine eigene Variante „not valid yet“.

rustls 0.23 (via reqwest, ureq, hyper-rustls) — CertificateError::ExpiredContext

Was der Fehler bedeutet

rustls hat die Kette geprüft, aber ein Zertifikat darin hatte zum Zeitpunkt der Prüfung das Datum in notAfter bereits überschritten. rustls 0.23 nennt beide Zeitpunkte als Unix-Zeitstempel und dazu, vor wie vielen Sekunden das Zertifikat abgelaufen ist – so erkennst du sofort, ob das Zertifikat oder die Uhr falsch ist.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Zeitstempel umrechnen

    date -u -d @<seconds> wandelt beide Werte in lesbare UTC-Zeiten um.

    bash
    # The message gives both instants as Unix seconds
    date -u -d @1743465600      # certificate's notAfter
    date -u                     # this machine's time
  2. 2.

    Erneuern und neu ausrollen

    Erneuere das Zertifikat des Servers, lade den Dienst neu und bestätige das neue Ablaufdatum von außen über das Netzwerk.

    bash
    echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null | openssl x509 -noout -enddate
    sudo certbot renew && sudo systemctl reload nginx

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen