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

当前回答

我有类似的问题,并通过暂时禁用我的反病毒(卡巴斯基免费18.0.0.405)修复了它。该反病毒具有HTTPS拦截模块,自动自签名它在HTTPS响应中找到的所有证书。

来自Cygwin的Wget对AV根证书一无所知,所以当它发现网站的证书与不信任证书签署时,它会打印这个错误。

要在不禁用AV的情况下永久修复此问题,您应该将Windows证书存储中的AV根证书以.pem文件(base64编码)的形式复制到/etc/pki/ca-trust/source/anchors中,然后运行update-ca-trust

其他回答

首先,需要安装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

只做

apt-get install ca-certificate

如果您不关心检查证书的有效性,只需在wget命令行上添加——no-check-certificate选项。这对我来说很有效。

注意:这将使您容易受到中间人(MitM)攻击,不建议在任何您关心安全性的情况下使用。

也许这会有所帮助:

wget --no-check-certificate https://blah-blah.tld/path/filename

如果您使用的是windows,只需转到控制面板,单击自动更新,然后单击windows更新网站链接。照着这一步做。至少这对我来说是有效的,没有更多的证书问题,即每当我像以前一样去https://www.dropbox.com。