我正在开发一个程序,其中我有一个虚拟开发服务器,它使用自签名证书运行。我的程序使用curl连接到服务器并提取信息,但需要使用SSL。当我尝试连接时,我得到错误“SSL证书问题,验证CA证书是否正常”。当运行firefox时,我可以将证书添加到firefox,但这对curl没有帮助,如何添加curl可以识别的证书?
19.7(x86_64-pc-Linux-gnu)libcurl/7.19.7开放式 ssl 协议/0.9.8k zlib/1.2.3.3 libidn/1.15协议:ftp ftp telnet dict ldap ldaps http文件https ftp特性:GSS协商IDN IPv6大文件NTLM SSL libz
Ubuntu 10.04 64位
4条答案
按热度按时间2ic8powd1#
这是一种对我有效的方法:
首先,从开发域获取CA证书,并将其保存到名为'logfile'的文件中(假设SSL端口为443)。
然后,使用--cacert curl选项来使用保存的证书文件。
来源:http://curl.haxx.se/docs/sslcerts.html
n6lpvg4x2#
我会将证书复制到
/usr/local/share/ca-certificates/
。让我引用update-ca-certificates的手册页:
此外,在/usr/local/share/ca-certificates下找到的所有扩展名为.crt的证书也都作为隐式受信任证书包括在内。
ugmeyewa3#
将rootCA.pem添加到
/usr/share/ca-certificates
目录中。之后,使用以下内容更新您的证书:
update-ca-certificates --fresh
命令。我只是这样做了,而且效果很好。
hzbexzde4#
首先,在Linux中,您应该将CERTIFICATE.cert添加到
/usr/local/share/ca-certificates/
中,然后通过将--cacert CERTIFICATE.cert
添加到命令中,curl将在请求中自动使用此证书。例如:curl --证书证书。证书获取“URL”。
显然,您可以编辑请求以获得所需的请求。