Solución:
También tenía instalada la versión más reciente de certificados ca, pero seguía recibiendo el error:
curl: (77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
El problema era que curl esperaba que el certificado estuviera en la ruta /etc/pki/tls/certs/ca-bundle.crt
pero no pude encontrarlo porque estaba en el camino /etc/ssl/certs/ca-certificates.crt
.
Copiando mi certificado al destino esperado ejecutando
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
trabajó para mi. Deberá crear carpetas para el destino de destino si no existen ejecutando
sudo mkdir -p /etc/pki/tls/certs
Si es necesario, modifique el comando anterior para que el nombre del archivo de destino coincida con la ruta esperada por curl, es decir, reemplace /etc/pki/tls/certs/ca-bundle.crt
con la ruta que sigue a “CAfile:” en su mensaje de error.
Este error está relacionado con un paquete faltante: ca-certificates
. Instalarlo.
En Ubuntu Linux (y distribución similar):
# apt-get install ca-certificates
En CygWin a través de Apt-Cyg
# apt-cyg install ca-certificates
En Arch Linux (Raspberry Pi)
# pacman -S ca-certificates
La documentación dice:
Este paquete incluye archivos PEM de certificados CA para permitir que las aplicaciones basadas en SSL comprueben la autenticidad de las conexiones SSL.
Como se ve en: Debian – Detalles de los certificados ca del paquete en squeeze
Pon esto en tu .bashrc
# fix CURL certificates path
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
(ver comentario de Robert)