将自签名证书添加到ubuntu以与curl一起使用

时间:2011-02-24 19:47:47

标签: ssl curl ssl-certificate

我正在开发一个程序,我有一个使用自签名证书运行的虚拟开发服务器。我的程序使用curl连接到服务器并提取信息,但需要使用SSL。当我尝试连接时,我收到错误“SSL证书问题,验证CA证书是否正常”。运行firefox时,我可以将证书添加到firefox,但这对curl没有帮助。如何添加curl证书以识别?

curl 7.19.7(x86_64-pc-linux-gnu)libcurl / 7.19.7 OpenSSL / 0.9.8k zlib / 1.2.3.3 libidn / 1.15 协议:tftp ftp telnet dict ldap ldaps http file https ftps 功能:GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64bit

3 个答案:

答案 0 :(得分:9)

这是一种对我有用的方法:

首先,从开发域获取CA证书并将其保存到名为“logfile”的文件中。 (假设端口443用于SSL)

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

然后,使用--cacert curl选项使用保存的证书文件。

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

来源: http://curl.haxx.se/docs/sslcerts.html

答案 1 :(得分:7)

我将证书复制到/usr/local/share/ca-certificates/

让我引用update-ca-certificates的手册页:

  

此外,在/ usr / local / share / ca-certificates下面找到的扩展名为.crt的证书也包含在隐式信任中。

答案 2 :(得分:5)

将rootCA.pem添加到“/ usr / share / ca-certificates”目录中。

之后,使用以下命令更新证书:“update-ca-certificates --fresh”命令。

我刚刚做到了,并且工作正常。