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

当前回答

多亏了丹尼斯·巴哈列夫,我破案了。

如果有人有Cygwin wget不工作,因为“证书不受信任”,并安装了ca-certificate,并拥有自动自签名所有证书的反病毒,它在HTTPS响应中发现,那么你需要:

从你的AV中获取根证书(我用浏览器获得了我的证书:打开任何https网站,检查它的证书,去证书路径选项卡,点击根证书。然后点击查看证书按钮,进入详细信息页签,点击复制到文件…按钮。在*中保存证书可以使用默认设置。cer文件)。 转换*。Cer到*.crt。可以通过以下命令使用Cygwin的OpenSSL:

openssl x509 -通知DER -in <your *. .Cer证书文件> -out <new cert>.crt . out . out

移动新*。CRT文件到ca-directory(在我的例子中是/etc/pki/tls/certs/)。

这足以让我开始工作了。

其他回答

也许这会有所帮助:

wget --no-check-certificate https://blah-blah.tld/path/filename
apt-get install ca-certificates 

s起作用;)

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

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

看看目前的解决方案在这里,我觉得我必须描述一个合适的解决方案。

首先,您需要通过cygwin的setup.exe安装cygwin包ca-certificates以获得证书。

不要使用curl或类似的黑客来下载证书(作为相邻的回答建议),因为这从根本上是不安全的,可能会危及系统。

其次,您需要告诉wget证书的位置,因为在Cygwin环境中,默认情况下wget不会获取证书。如果您可以使用命令行参数——ca-directory=/usr/ssl/certs(最适合shell脚本)或将ca_directory =/usr/ssl/certs添加到~/,则可以这样做。wgetrc文件。

您也可以通过运行ln -sT /usr/ssl /etc/ssl来解决这个问题,这在另一个答案中指出,但只有当您对系统有管理访问权限时才会起作用。我描述的其他解决方案不需要这样做。

如果问题是一个已知的根CA缺失,并且当你使用ubuntu或debian时,那么你可以用这一行来解决问题:

sudo apt-get install ca-certificates