例如,运行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.
当前回答
不是完全一样的问题。在docker上,我正在将我的主机文件系统挂载到/etc,其中已经安装了OpenSSL certs,这将被覆盖。
改变安装到不同的文件系统可以解决这个问题。
其他回答
首先,需要安装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
如果问题是一个已知的根CA缺失,并且当你使用ubuntu或debian时,那么你可以用这一行来解决问题:
sudo apt-get install ca-certificates
不是完全一样的问题。在docker上,我正在将我的主机文件系统挂载到/etc,其中已经安装了OpenSSL certs,这将被覆盖。
改变安装到不同的文件系统可以解决这个问题。
在我的例子中,在树莓派3B上,时间是在未来(2025年),我需要使用ntpdate通过将时间传递到过去来更新到当前的本地时间,它解决了这个问题。
$ sudo date +%Y%m%d -s "20210101"
$ sudo ntpdate times1.mike.fi
也许这会有所帮助:
wget --no-check-certificate https://blah-blah.tld/path/filename