Saltar al contenido

¿Cómo trato con los certificados que usan cURL mientras intento acceder a una URL HTTPS?

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)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *