2011-02-24 24 views
5

Estoy desarrollando un programa donde tengo un servidor de desarrollo virtual que se ejecuta con un certificado autofirmado. Mi programa utiliza curl para conectarse al servidor y extraer información, pero debe hacerlo con SSL. Cuando trato de conectar me aparece el error "Problema con el certificado SSL, verifique que el certificado CA esté correcto". Cuando ejecuto Firefox, puedo agregar el certificado solo a Firefox, pero eso no me ayuda con el curl. ¿Cómo agrego el certificado para que curl lo reconozca?Añadir certificado autofirmado a ubuntu para usar con curl

enrollamiento 7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15 protocolos: TFTP ftp telnet dict LDAP ldaps http https archivos ftps Características : GSS-Negociar IDN IPv6 largefile NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64 bits

+2

[cURL: Agregar/instalar/Confiar nuevo certificado autofirmado] (http://turboflash.wordpress.com/2009/06/23/curl-adding-installing-trusting-new-self-signed- certificado /) –

+0

Ver también [¿Usar certificado autofirmado con CURL?] (https://stackoverflow.com/q/27611193/608639) Es una buena respuesta canónica. Daniel Stenberg, el autor de cURL, respondió la pregunta. – jww

Respuesta

7

Esta es una manera que trabajó para mí:

primer lugar, obtener el certificado CA desde el dominio de desarrollo y guardarlo en un archivo llamado 'archivo de registro'. (Asume el puerto 443 para SSL)

openssl s_client -connect xxxxx.com:443 |tee logfile 

A continuación, utilice la opción --cacert rizo para utilizar el archivo certificado guardado.

curl --cacert logfile **THE REST OF YOUR CURL COMMAND** 

Fuente: http://curl.haxx.se/docs/sslcerts.html

+0

Esto no funciona para mí. ¿Te importaría probar una versión actual de curl? Además, saber qué comandos usó para generar la clave puede ser útil. – CoolAJ86

4

Haz tu RootCA.pem en "/ usr/share/ca-certificados" directorio.

Después de eso, actualice sus certificados con el comando "update-ca-certificates --fresh".

Acabo de hacer eso, y funciona bien.

3

Copie el certificado a /usr/local/share/ca-certificates/.

Permítanme citar la página del manual de update-ca-certificates:

Además todos los certificados con una extensión .crt que se encuentran por debajo de/usr/local/share/ca-certificados también se incluyen como implícitamente confiar en ellos.

Cuestiones relacionadas