Saltar al contenido
ecdsa.com
rustls 0.23 (via reqwest, ureq, hyper-rustls)Rust

Mensaje de error

invalid peer certificate: certificate expired: verification time

Forma completa: «invalid peer certificate: certificate expired: verification time <unix> (UNIX), but certificate is not valid after <unix> (<n> seconds ago)». Las versiones anteriores de rustls solo imprimían el nombre de la variante («invalid peer certificate: Expired»). Los certificados que aún no son válidos producen otra variante, «not valid yet».

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

Qué significa

rustls verificó la cadena, pero en el momento de la verificación uno de sus certificados ya había pasado su fecha notAfter. rustls 0.23 indica ambos instantes como marcas de tiempo Unix y cuántos segundos hace que caducó el certificado, lo que te dice de inmediato si el problema está en el certificado o en el reloj.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Convertir las marcas de tiempo

    date -u -d @<seconds> convierte ambos valores en horas UTC legibles.

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

    Renovar y volver a desplegar

    Renueva el certificado del servidor, recarga el servicio y confirma la nueva fecha de fin desde el lado de la red.

    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

Errores relacionados

Explorar toda la base de datos de errores de firma