Solucionar problemas

Cómo solucionar el error cURL 60 de certificado SSL en WordPress

Revisado el 6 min de lectura wordpress errores ssl

Cuando intentas actualizar WordPress, instalar un plugin o conectar con un servicio externo, podrías encontrarte con un mensaje similar a este:

Error en la actualización: Descarga fallida. cURL error 60: SSL certificate problem

El error indica que PHP o cURL no han podido verificar la cadena de confianza del certificado presentado por el servidor remoto. No significa necesariamente que el certificado de tu propia web esté caducado.

Posibles causas que debes contrastar

El mensaje es compatible con varios escenarios, pero no permite elegir uno sin más pruebas:

  • Una versión antigua de WordPress con un paquete de autoridades certificadoras desactualizado.
  • El almacén de certificados del sistema operativo o de PHP está desactualizado o mal configurado.
  • La fecha y la hora del servidor no son correctas.
  • El certificado del servidor remoto está caducado, no coincide con su dominio o no entrega la cadena intermedia completa.
  • Un proxy, antivirus, firewall o plugin de seguridad está interceptando la conexión HTTPS.

No desactives la verificación SSL

No uses filtros que fuercen https_ssl_verify a false.

Desactivar la verificación permite que WordPress acepte certificados no fiables y facilita ataques de intermediario. Además, oculta la causa real y puede afectar a otras conexiones realizadas mediante la API HTTP de WordPress si el filtro se aplica de forma general.

1. Comprueba la fecha y la URL que falla

Revisa el mensaje completo para identificar el dominio remoto. Si el error aparece al actualizar WordPress, normalmente la conexión se realiza contra api.wordpress.org o downloads.wordpress.org. Si solo ocurre con un plugin concreto, puede afectar al servicio externo utilizado por ese plugin.

Comprueba también que la fecha, la hora y la zona horaria del servidor sean correctas. Una diferencia importante puede hacer que un certificado válido parezca caducado o todavía no válido.

2. Actualiza WordPress, PHP y los certificados

Antes de modificar la configuración:

  1. Realiza una copia de seguridad.
  2. Actualiza WordPress a una versión compatible y mantenida.
  3. Actualiza los plugins y temas implicados.
  4. Comprueba que la versión de PHP siga recibiendo soporte.

WordPress incluye su propio paquete de certificados en wp-includes/certificates/ca-bundle.crt. No reemplaces únicamente ese fichero con uno descargado de una fuente desconocida: actualiza el núcleo completo para que todos sus archivos pertenezcan a la misma versión.

3. Revisa la configuración de certificados de PHP

En la información de PHP puedes comprobar los valores de curl.cainfo y openssl.cafile. Si están definidos, deben apuntar a un fichero de certificados existente, legible y actualizado.

Desde SSH también puedes revisar la conexión sin desactivar ninguna validación:

curl -Iv https://api.wordpress.org/

Prueba exactamente la URL indicada en el error. Si el comando muestra el mismo fallo, revisa el almacén de certificados del servidor y la cadena entregada por el destino. Si funciona por consola pero falla desde WordPress, ten en cuenta que la consola puede usar otro almacén: revisa la configuración de la versión de PHP que ejecuta la web y registra la petición desde WordPress antes de atribuirla a un plugin.

4. Descarta interferencias de plugins y proxies

Solo si el registro o la configuración señalan una posible interceptación, desactiva temporalmente y de forma controlada los plugins de seguridad o proxy que puedan modificar peticiones salientes. Repite la misma petición antes y después; el cambio de resultado es la evidencia útil. No hagas esta prueba en producción sin una copia de seguridad y una ventana de mantenimiento.

Si utilizas un proxy corporativo o un antivirus que inspecciona HTTPS, su autoridad certificadora debe estar instalada correctamente en el almacén utilizado por PHP.

5. Contacta con el proveedor cuando afecte al servidor

Si no administras el servidor, facilita al proveedor la URL remota, el mensaje completo, la hora de la prueba y la versión de PHP. Podrá comprobar el paquete de certificados, la configuración de cURL/OpenSSL y si existe alguna interceptación de las conexiones salientes.

La solución correcta es restaurar una cadena de confianza válida. Desactivar la verificación SSL no debe utilizarse ni siquiera como solución temporal.

Si la actualización tampoco puede descargarse

No fuerces la descarga sin TLS válido. Si necesitas actualizar el núcleo manualmente, utiliza la distribución oficial, conserva primero una copia y sigue un procedimiento de actualización compatible con la versión instalada. Una reinstalación de la misma versión y una actualización no son la misma operación.

Al compartir la URL que falla, elimina tokens y parámetros privados. Un curl correcto desde tu ordenador no comprueba el almacén de certificados del hosting; recoge la prueba desde el entorno donde aparece el error y distingue siempre CLI de PHP web.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.