curl:(77)设置证书验证位置时出错(Ubuntu 20.04.3 LTS)

curl:(77)设置证书验证位置时出错(Ubuntu 20.04.3 LTS)

我是在 Ubuntu 上安装 Waydroid,运行时:

export DISTRO="focal" && \
sudo curl -# --proto '=https' --tlsv1.2 -Sf https://repo.waydro.id/waydroid.gpg --output /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > ~/waydroid.list && \
sudo mv ~/waydroid.list /etc/apt/sources.list.d/waydroid.list && \
sudo apt update

我收到错误:

curl: (77) error setting certificate verify locations:                        
  CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs

我正在运行 Ubuntu 20.04.3 LTS(Focal Fossa)并且已完全更新系统。

ca-certificates is already the newest version (20210119~20.04.2).

答案1

我遇到了同样的问题并这样解决:

$ sudo rm -f /etc/ssl/certs/ca-bundle.crt
$ sudo apt reinstall ca-certificates
$ sudo update-ca-certificates

我猜,证书颁发机构链文件不知怎么弄乱了。

致谢:https://bobcares.com/blog/curl-error-77-problem-with-the-ssl-ca-cert/

答案2

我也遇到了同样的问题。对我有用的是更新 ca 证书。

我第一次运行cat /etc/ssl/certs/ca-certificates.crt并得到了这个回应:

cat:/etc/ssl/certs/ca-certificats.crt:没有此文件或目录

因此,没有可供 curl 使用的文件。

根据http://manpages.ubuntu.com/manpages/impish/man8/update-ca-certificates.8.html我们可以创建一个新的 ca 证书。我所做的就是运行它sudo update-ca-certificates,然后 77 错误就消失了。

希望对您有所帮助。需要注意的是,我不太熟悉该update-ca-certificates命令,不确定是否可以设置一些选项以使此修复更好地发挥作用。此外,与互联网上的所有信息一样,使用此方法风险自负。

干杯!

答案3

从错误来看,您可能没有ca-certificates安装该软件包。您可以通过终端解决此问题,如下所示:

sudo apt install ca-certificates

安装后,你应该能够正确运行 cURL 请求

答案4

我以前运行时会遇到此错误作曲家更新 并且我尝试了所有命令来重新安装证书文件,但是问题并没有解决。

我意识到错误是由于权限 所以这个问题用这个命令解决了

cd /etc/ssl

sudo chmod 755 -R certs/

相关内容