Aller au contenu
ecdsa.com
rustls 0.23 (via reqwest, ureq, hyper-rustls)Rust

Message d’erreur

invalid peer certificate: certificate expired: verification time

Forme complète : « invalid peer certificate: certificate expired: verification time <unix> (UNIX), but certificate is not valid after <unix> (<n> seconds ago) ». Les versions antérieures de rustls n’affichaient que le nom de la variante (« invalid peer certificate: Expired »). Les certificats qui ne sont pas encore valides produisent une variante distincte, « not valid yet ».

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

Ce que cela signifie

rustls a vérifié la chaîne, mais l’un de ses certificats a dépassé sa date notAfter à l’heure de la vérification. rustls 0.23 indique les deux instants sous forme d’horodatages Unix, ainsi que le nombre de secondes écoulées depuis l’expiration du certificat : vous savez ainsi immédiatement si c’est le certificat ou l’horloge qui est en cause.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Convertir les horodatages

    date -u -d @<seconds> convertit les deux valeurs en heures UTC lisibles.

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

    Renouveler et redéployer

    Renouvelez le certificat du serveur, rechargez le service, puis confirmez la nouvelle date de fin côté réseau.

    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

Erreurs associées

Parcourir toute la base de données des erreurs de signature