El mensaje de error que ves, SSL routines:tls_process_server_certificate:certificate verify failed, indica que hay un problema con el proceso de verificación del certificado SSL durante un apretón de manos SSL/TLS.
Aquí están los pasos que puedes seguir para abordar este problema:
Verifica la fecha y hora del sistema:
Asegúrate de que la fecha y la hora del sistema en tu servidor estén configuradas correctamente. Si son incorrectas, los certificados SSL/TLS pueden no pasar la verificación.
Actualiza las Autoridades Certificadoras (CA):
La biblioteca SSL puede no tener certificados raíz actualizados. Actualiza los certificados de CA:
Para Ubuntu, puedes hacerlo utilizando el siguiente comando:
sudo apt-get install ca-certificates
Verifica la cadena de certificados:
Usa una herramienta de verificación SSL (como openssl s_client
) para verificar la cadena de certificados SSL. Esto puede ayudar a identificar si hay algún problema con la cadena de certificados.
Por ejemplo:
openssl s_client -connect example.com:443
Sustituye example.com
por el dominio real al que estás intentando conectarte.
Revisa problemas con el proxy o firewall:
Si tu servidor está detrás de un proxy o firewall, asegúrate de que permita conexiones salientes en el puerto 443 (HTTPS).
Verifica el certificado en el servidor:
Asegúrate de que el certificado SSL instalado en el servidor sea válido y esté correctamente configurado. Verifica si hay problemas con su vencimiento o configuración incorrecta.
Usa el dominio correcto:
Asegúrate de que estás utilizando el dominio correcto en tu solicitud. El nombre de dominio debe coincidir con el que aparece en el certificado SSL.
Deshabilita la verificación del certificado (no recomendado):
Aunque no se recomienda para uso en producción, puedes deshabilitar temporalmente la verificación del certificado SSL para probar si resuelve el problema. Sin embargo, esto puede exponer tu sistema a riesgos de seguridad.
En Python, puedes usar el argumento verify=False
en la librería requests
.
Contacta al propietario del sitio web o a la Autoridad Certificadora:
Si estás conectándote a un sitio web o servicio de terceros, contacta al propietario del sitio o a la autoridad certificadora para asegurarte de que su certificado SSL sea válido y esté correctamente configurado.
Verifica la compatibilidad de la versión SSL/TLS:
Asegúrate de que la versión de SSL/TLS que está utilizando tu cliente sea compatible con la del servidor. Algunos servidores pueden requerir versiones específicas de SSL/TLS.
Actualiza OpenSSL:
Asegúrate de que OpenSSL esté actualizado en tu sistema. Las versiones desactualizadas pueden tener problemas conocidos con la validación de certificados SSL.
Verifica la resolución DNS:
Asegúrate de que tu servidor pueda resolver correctamente el DNS del servidor de destino.
Recuerda proceder con precaución, especialmente si estás considerando deshabilitar la verificación del certificado. Es importante restablecer la validación adecuada del certificado una vez que el problema sea identificado y resuelto.