¿Como solucionar el error “curl: (60) SSL certificate problem: unable to get local issuer certificate “?

2.3/5 - (3 votos)

Estamos ante un error poco común, si has instalado curl desde repositorio con yum o con apt probablemente nunca encontraras un error de este tipo.

Este error suele aparecer en distros antiguas y esta relacionada con el cambio de versión de curl, si te ha salido este error es porque seguramente hayas actualizado curl compilándolo y no hayas incluido el certificado de confianza.

Tambien puede aparecer al intentar hacer un wget con las nuevas versiones de openssl:

OpenSSL: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
 Unable to establish SSL connection

Estos errores son debidos a que en versiones antiguas de curl o openssl no se establecía relación de confianza y no se necesitaba ningún certificado, pero las versiones actuales si lo requieren y al no encontrarlo el sistema devuelve este error.

La solución es bastante sencilla, basta con descargarse el certificado en la página oficial de  curl https://curl.haxx.se/ca/cacert.pem y guardarlo en la ubicación de los certificados de la versión de Linux en la que estés trabajando.

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7

En el caso de que necesites utilizar curl con php bastaría con añadirlo al fichero de configuración php.ini

curl.cainfo = "/etc/ssl/certs/cacert.pem"
openssl.cafile  = "/etc/ssl/certs/cacert.pem"

Con estos pasos el error queda resuelto y podrás utilizar curl perfectamente.

3 comentarios en «¿Como solucionar el error “curl: (60) SSL certificate problem: unable to get local issuer certificate “?»

  1. Muchísimas gracias. Lo hice con XAMPP y puse el archivo .pem dentro de la ruta C:\xampp\php\cacert.pem, después agregué las siguientes líneas al php.ini:

    curl.cainfo = “C:\xampp\php\cacert.pem”
    openssl.cafile = “C:\xampp\php\cacert.pem”

    Luego de eso reinicié el Apache y todo funcionó correctamente.
    Gracias.

    Responder
    • Amigo me podrías ayudar. Tengo más de un día tratando de resolver esto y todas las opciones que encuentro no me ayudan.
      Estoy utilizando xampp en windows, coloco todo como me dicen en las soluciones y todavia me sigue saliendo el mismo error

      Responder

Deja un comentario