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

way*_*ser 9 certificates curl

在 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
Run Code Online (Sandbox Code Playgroud)

我收到错误:

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

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

ca-certificates is already the newest version (20210119~20.04.2).
Run Code Online (Sandbox Code Playgroud)

小智 7

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

$ sudo rm -f /etc/ssl/certs/ca-bundle.crt
$ sudo apt reinstall ca-certificates
$ sudo update-ca-certificates
Run Code Online (Sandbox Code Playgroud)

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

学分: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,并且不确定是否可以设置一些选项来使此修复程序更好地工作。另外,就像互联网上的所有信息一样,使用此信息需要您自担风险。

干杯!