例如,运行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