例如,运行wget https://www.dropbox.com会出现以下错误:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
例如,运行wget https://www.dropbox.com会出现以下错误:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
当前回答
首先,需要安装SSL证书。说明(基于https://stackoverflow.com/a/4454754/278488):
pushd /usr/ssl/certs
curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
c_rehash
以上已经足够修复curl了,但是wget需要一个额外的符号链接:
ln -sT /usr/ssl /etc/ssl
其他回答
也许这会有所帮助:
wget --no-check-certificate https://blah-blah.tld/path/filename
首先,需要安装SSL证书。说明(基于https://stackoverflow.com/a/4454754/278488):
pushd /usr/ssl/certs
curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
c_rehash
以上已经足够修复curl了,但是wget需要一个额外的符号链接:
ln -sT /usr/ssl /etc/ssl
在我的例子中,在树莓派3B上,时间是在未来(2025年),我需要使用ntpdate通过将时间传递到过去来更新到当前的本地时间,它解决了这个问题。
$ sudo date +%Y%m%d -s "20210101"
$ sudo ntpdate times1.mike.fi
如果问题是一个已知的根CA缺失,并且当你使用ubuntu或debian时,那么你可以用这一行来解决问题:
sudo apt-get install ca-certificates
如果您不关心检查证书的有效性,只需在wget命令行上添加——no-check-certificate选项。这对我来说很有效。
注意:这将使您容易受到中间人(MitM)攻击,不建议在任何您关心安全性的情况下使用。