Lingua-e
← Errores
Python

Qué significa SSLCertVerificationError y cómo solucionarlo

Referencia del error

SSLCertVerificationError

Lenguaje

Python

Severidad

Alta

Cuándo ocurre

ssl.SSLCertVerificationError se lanza cuando la capa SSL de Python no puede verificar el certificado TLS del servidor.

Posibles soluciones

En macOS, ejecuta el script 'Install Certificates.command' en el directorio de instalación de Python. Actualiza tu paquete CA con certifi. Si controlas el servidor, renueva el certificado vencido. Nunca deshabilites la verificación SSL en código de producción.

Más detalles

ssl.SSLCertVerificationError se lanza cuando la capa SSL de Python no puede verificar el certificado TLS del servidor. Esto puede significar que el certificado está vencido, es autofirmado, emitido por una autoridad no confiable o el nombre de host no coincide con el certificado.

Por qué ocurre

  • El certificado SSL del servidor ha vencido.
  • Se usa un certificado autofirmado sin agregarlo al almacén de confianza.
  • El paquete CA del sistema está desactualizado o falta (común en macOS después de instalar Python).
  • Un proxy corporativo realiza inspección SSL y presenta su propio certificado.

Posibles soluciones

En macOS, ejecuta el script 'Install Certificates.command' en el directorio de instalación de Python. Actualiza tu paquete CA con certifi. Si controlas el servidor, renueva el certificado vencido. Nunca deshabilites la verificación SSL en código de producción.

Ejemplos

Python

Código que causa el error

import urllib.request
urllib.request.urlopen("https://expired.badssl.com/")

Error en la terminal

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1007)

Código corregido

import requests

# Production: keep verification enabled
response = requests.get("https://api.example.com", timeout=10)

# Development only: disable verification (never in production)
# response = requests.get("https://...", verify=False)

Practica en inglés

¿Cómo le explicarías un SSLCertVerificationError a un compañero dev? Elige la frase correcta:

"I hit an error...

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis