Explicando el Error Masivo: Certificado Expirado al intentar acceder a la plataforma Prescrypto “TLS x509_V_ERR_CERT_HAS_EXPIRED”

Explicando el Error Masivo: Certificado Expirado al intentar acceder a la plataforma Prescrypto “TLS x509_V_ERR_CERT_HAS_EXPIRED”

Estimados usuarios, 

Si al intentar acceder a www.prescrypto.com y le aparece este error, tiene Solución!

ERROR: The requested url could not be retrieved

TLS x509_V_ERR_CERT_HAS_EXPIRED | 30 sept 14:01:15

Para entender lo que está ocurriendo debemos entender algunos conceptos sobre certificados.

Certificados

Cuando un equipo de cómputo se conecta a www.prescrypto.com, el navegador solicita una conexión segura a través de HTTPS, en este proceso se solicita el certificado SSL de www.prescrypto.com, para que el equipo de computo considere ese certificado como “confiable”, se realiza un proceso de verificación de “cadena de Confianza”, en donde se revisa la cadena de certificados y se comprueba si en el equipo de computo existe el certificado raíz aprobado.

Cadena de certificados de Prescrypto

En este ejemplo vemos la cadena de certificados de www.prescrypto.com, en una jerarquía superior vemos que el “certificado intermedio” es llamado “R3”, y en lo más alto tenemos a “ISRG Root X1” como certificado Raíz. 

Este último es el tipo de certificados que se encuentran preinstalados en los diferentes sistemas operativos, si su equipo accede a una página con un certificado SSL que haya sido firmado en su raíz por certificado en su equipo está página será considerada de confianza. Esta característica les confiere mucho valor y responsabilidad.

Aquí vemos unos ejemplos de Certificados Raíz pre-instalados en diferentes sistemas operativos.

Lista de certificados en Windows 10
Lista de certificados en MacOS 10.14.6

Es a través de actualizaciones de sistema los equipos de cómputo mantienen actualizada su lista de certificados Raíz “Aprobados” o “confiables”. En ciertos equipos puede que la configuración de la lista no se actualice automáticamente.

ISRG Root X1 fue emitido en el 2015, para aumentar el alcance durante su distribución decidieron “co-firmar” con DST Root CA X3, un certificado intermedio que firmaría los certificados SSL, entre otros.

Jerarquía de certificados de ISRG Root X1

Este movimiento permitió a los equipos de cómputo validar cualquier certificado emitido por “R3” sólo poseyendo un certificado de los co-firmantes. Al disponer de mayor alcance en equipos de antigua generación, los certificados finales de ISRG Root X1 gozaron rápidamente de amplia aceptación.

El 30 de Septiembre 2021, después de 21 años, expiró DST Root CA X3, dejando a muchos equipos de cómputo que no tuviesen el otro co-firmante, sin posibilidad de acceder o “confiar” en las páginas cuyos certificados SSL hayan sido emitidos por R3.

Prueba para revisar si se dispone del certificado

Se puede realizar una prueba sencilla para verificar si se dispone del certificado ISRG Root X1 (co-firmante de R3 y válido hast 2036), simplemente con acceder a la siguiente página que solicita expresamente ISRG Root X1 y observar si la página se carga correctamente o revisando la cadena de certificados a través del logo del “candado”

https://valid-isrgrootx1.letsencrypt.org/

Otra manera de verificar el estado es a través del administrador de Certificados del sistema operativo.

Con esta introducción simplificada sobre los certificados digitales pasamos a enfocarnos en el mensaje de error.

Si le aparece el siguiente Error, es muy probable que no disponga del Certificado Raiz ISRG Root X1, la manera de solucionarlo sería a través de una actualización del sistema operativo o con una instalación manual del certificado Raíz.

Este es un proceso delicado que debe de realizarse con conocimiento de causa, proceda bajo su propia responsabilidad.

Instalando Certificados Raiz

Lo primero es obtener el certificado Raíz que se va a instalar, para este caso ISRG Root es administrado por la organización “Let’s Encrypt” , desde la página oficial encontraremos ISRG Root X1 en diferentes formatos para descargar, el tipo de archivo .der es un ejecutable que permitirá iniciar con el proceso de instalación de certificados, 

https://letsencrypt.org/certificates/

Windows 10

No he podido realizar las pruebas con diferentes versiones de Windows pero los pasos deberían de ser similares a los descritos a continuación.

  • Abrimos el archivo .der
Instalar certificado windows
  • Presionamos “instalar certificado” y seguimos los pasos hasta completar el asistente.
  • El certificado ya está instalado
  • Es posible que que se requiera reiniciar el equipo para que tome efecto
  • Si aún no funciona deberá de revisar que el certificado haya sido instalado correctamente y que se le permita el acceso a “Server Authentication” y “Client Authentication”, para ello.
  • Abrimos el administrador de consola de windows “WIN+R” “mmc”
  • Si la ventana no muestra la lista de Certificados habrá que añadirla con “CTRL+M” o a través del menú “Files” => “Add/Remove Snap In”
  • Seleccionamos “Certificados” y le damos a añadir
  • Buscamos el certificado ISRG Root X1, le hacemos doble click para acceder al detalle y en la pestaña de “Details” presionamos “Editar propiedades”.
Editar propiedades de certificado
  • Una vez añadidas las propiedades que nos interesan aplicamos los cambios.

MacOS

  • Abrimos el archivo .der, 
  • Una ventana nos indicará si deseamos añadirlo en el caso de MacOS a “Keychain” el administrador de certificados. 
Ventana para agregar certificados en MacOS
  • Una vez añadido nos aparecerá con la indicación que no es un certificado en el cual confiamos, esto es un comportamiento esperado al ser instalado de manera manual el certificado Raíz.
  • Para cambiarlo seleccionamos el certificado 2 veces para editarlo
  • Podremos indicar qué comportamiento seguir para tipo protocolo del certificado final, si solo se desea que se validen los certificados SSL, solo cambiaremos el valor del campo SSL a “Always Trust”, y salimos y guardamos la configuración
Indicar confianza en el certificado ISRG Root X1

Si la solución propuesta no soluciona su problema contáctenos y le ofreceremos una ayuda personalizada.

Glosario

  • SSL Certificate =  Certificado Digital, permite identificar un Sitio Web a manera de poder intercambiar información de manera encriptada.
  • Chain of Certificates =  La jerarquía de certificación es una estructura de certificados que permite a un particular verificar la validez del emisor de un certificado. Los certificados son emitidos y firmados por certificados de lo más alto de la jerarquía, de este modo la validez y la fiabilidad de un certificado dado está determinado por la validez correspondiente del certificado que lo firmó.
  • Let’s Encrypt = Organización sin ánimo de lucro conducida por Internet Security Research Group (ISRG), es el emisor del certificado Raíz ISRG Root X1
  • Root Certificate = Certificado raíz es un certificado de clave pública sin firma o autofirmado que identifica la autoridad de certificación raíz.

Referencias

https://letsencrypt.org/

https://letsencrypt.org/certificates/

https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/