ssl 在ubuntu中添加自签名证书以供curl使用

txu3uszq  于 2022-12-19  发布在  其他
关注(0)|答案(4)|浏览(334)

我正在开发一个程序,其中我有一个虚拟开发服务器,它使用自签名证书运行。我的程序使用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位

2ic8powd

2ic8powd1#

这是一种对我有效的方法:
首先,从开发域获取CA证书,并将其保存到名为'logfile'的文件中(假设SSL端口为443)。

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

n6lpvg4x

n6lpvg4x2#

我会将证书复制到/usr/local/share/ca-certificates/
让我引用update-ca-certificates的手册页:
此外,在/usr/local/share/ca-certificates下找到的所有扩展名为.crt的证书也都作为隐式受信任证书包括在内。

ugmeyewa

ugmeyewa3#

将rootCA.pem添加到/usr/share/ca-certificates目录中。
之后,使用以下内容更新您的证书:update-ca-certificates --fresh命令。
我只是这样做了,而且效果很好。

hzbexzde

hzbexzde4#

首先,在Linux中,您应该将CERTIFICATE.cert添加到/usr/local/share/ca-certificates/中,然后通过将--cacert CERTIFICATE.cert添加到命令中,curl将在请求中自动使用此证书。
例如:curl --证书证书。证书获取“URL”。
显然,您可以编辑请求以获得所需的请求。

相关问题