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

And*_*edd 8 ssl curl ssl-certificate

我正在开发一个程序,我有一个使用自签名证书运行的虚拟开发服务器.我的程序使用curl连接到服务器并提取信息,但需要使用SSL.当我尝试连接时,我收到错误"SSL证书问题,验证CA证书是否正常".运行firefox时,我可以将证书添加到firefox,但这对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远程登录字典LDAP LDAPS HTTP文件HTTPS FTPS特点:GSS-协商IDN的IPv6 Largefile NTLM SSL libz

Ubuntu 10.04 Lucid Lynx 64bit

Cur*_*urt 11

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

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

openssl s_client -connect xxxxx.com:443 |tee logfile
Run Code Online (Sandbox Code Playgroud)

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

curl --cacert logfile **THE REST OF YOUR CURL COMMAND**
Run Code Online (Sandbox Code Playgroud)

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


小智 8

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

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

此外,在/ usr/local/share/ca-certificates下面找到的具有.crt扩展名的证书也包含在内容中.


小智 6

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

之后,使用以下命令更新证书:"update-ca-certificates --fresh"命令.

我刚刚那样做,并且工作正常.

  • 这也需要将cert部分添加到`/ etc / ca-certificates.conf`中,但是您不应该这样做,因为它是自动生成的。而是将根PEM文件添加到`/ usr / local / share / ca-certificates`中。 (2认同)