Hace unas semanas, de repente no pude descargar los paquetes de PNPM, recibiendo la siguiente advertencia para todos los paquetes que intenté descargar:
GET https://registry.npmjs.org/<package> error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). Will retry in 10 seconds. 2 retries left.
Después de dos reintentos, finalmente todos fallaron. Inicialmente pensé que se trataba de un error de PNPM, ya que al visitar https://registry.npmjs.org en Safari funcionó y mostró un certificado Root válido. Sin embargo, la ejecución de scripts que utilizan urllib
ahora falla con este error:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
Esto me lleva a creer que el problema es a nivel de sistema, ya que está ocurriendo en múltiples entornos completamente diferentes. El problema también afecta a los terminales lanzados en aplicaciones de terceros, como VSCode, pero no parece afectar a otras partes de esas aplicaciones, ni a ninguna otra. Las soluciones que he encontrado en línea son en su mayoría específicas para una sola herramienta (PNPM, urllib, etc), e implican deshabilitar o trabajar alrededor de SSL en lugar de resolver el problema, lo que no quiero hacer por las implicaciones de seguridad.
Lo que he probado
- Reinstalar MacOS (sin borrarlo).
- Comprobando mis certificados Root en Keychain Access (todos son válidos y ninguno ha caducado).
- Asegurar que no estoy detrás de un proxy (que yo sepa)
- Dar al Terminal acceso completo al disco en caso de que se le niegue de alguna manera el acceso de lectura a los certificados
Especificaciones
M1 Macbook Air con MacOS Monterey 12.5.1