我得到以下错误使用卷曲:
curl: (77) error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
如何设置证书验证位置?
我得到以下错误使用卷曲:
curl: (77) error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
如何设置证书验证位置?
当前回答
只需创建文件夹,这在您的系统中是缺失的..
/ etc / pki / tls证书
并使用以下命令创建文件,
Sudo apt-get install ca-certificates
然后复制并粘贴证书到目标文件夹,这是显示在您的错误..我的是“with message”错误设置证书验证位置:CAfile: /etc/pki/tls/certs/ca-bundle.请确保您将文件粘贴到错误中提到的确切位置。使用以下命令复制粘贴..
电脑:sudo cp /etc/ssl/证书/呆滞 / etc / pki / tls证书/ ca-bundle crt。
固定的。
其他回答
我也有这个问题。我的问题是这个文件:
/usr/ssl/certs/ca-bundle.crt
默认情况下只是一个空文件。因此,即使它存在,您仍然会得到错误,因为它不包含任何证书。你可以像这样生成它们:
p11-kit extract --overwrite --format pem-bundle /usr/ssl/certs/ca-bundle.crt
https://github.com/msys2/MSYS2-packages/blob/master/ca-certificates/ca-certificates.install
只要找到适合我的解决方案。
echo’cacert = / etc / ssl / certs / ca-certificates。欧洲委员会
我从这里找到了解
似乎您的卷曲指向一个不存在的文件与CA证书或类似。
有关CA certs与curl的主要参考,请参见:https://curl.haxx.se/docs/sslcerts.html
我在Ubuntu 20.04 localhost上试图访问运行在docker容器中的elasticsearch时遇到了这个curl 77问题。集装箱启动后:
Check curl without ssl: curl --cacert http_ca.crt -u elastic https://localhost:9200 -k lowercase -k for insecure connection. Check curl configs: curl-config --configure, noticed what is ca-bundle: --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt. Copy http_ca.crt file from container to:/usr/local/share/ca-certificates/, original command is here. Run update on ca-certificates: sudo update-ca-certificates. Run curl: curl -u elastic:<password> https://localhost:9201. Finally got response with "tagline" : "You Know, for Search".
将<password>修改为运行Docker Image时生成的密码。 还要注意,在我的机器上,弹性是在端口9201上启动的(不知道为什么:sudo ss -tlpn | grep 9200给我什么都没有),我已经找到了端口:sudo netstat -ntlp和程序名称是docker-proxy。
这对我很有效
sudo apt-get install ca-certificates
然后进入证书文件夹
sudo cd /etc/ssl/certs
然后复制ca-certificates。CRT文件进入/etc/pki/tls/certs
sudo cp ca-certificates.crt /etc/pki/tls/certs
如果没有“tls/certs”文件夹,请创建一个“tls/certs”文件夹,并使用chmod 777 -R folderNAME修改权限