我正在开发一个程序,其中我有一个使用自签名证书运行的虚拟开发服务器。我的程序使用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文件https ftps功能: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
Ubuntu 10.04 Lucid Lynx 64位
发布于 2011-07-07 03:59:09
这是一种对我有效的方法:
首先,从开发域获取CA证书,并将其保存到名为“logfile”的文件中。(假定SSL的端口为443 )
openssl s_client -connect xxxxx.com:443 |tee logfile然后,使用--cacert curl选项来使用保存的证书文件。
curl --cacert logfile **THE REST OF YOUR CURL COMMAND**发布于 2015-09-01 04:38:08
我会将证书复制到/usr/local/share/ca-certificates/。
让我引用一下update-ca-certificates的手册页
此外,在/usr/local/share/ca-certificates下面找到的具有本地扩展名的所有证书也作为隐式受信任的证书包括在内。
发布于 2013-11-12 01:31:25
在/usr/share/ca-certificates目录中添加您的rootCA.pem。
之后,使用:update-ca-certificates --fresh命令更新您的证书。
我就是这么做的,而且运行得很好。
https://stackoverflow.com/questions/5109661
复制相似问题