例如,运行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.
当前回答
如果问题是一个已知的根CA缺失,并且当你使用ubuntu或debian时,那么你可以用这一行来解决问题:
sudo apt-get install ca-certificates
其他回答
首先,需要安装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
看看目前的解决方案在这里,我觉得我必须描述一个合适的解决方案。
首先,您需要通过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来解决这个问题,这在另一个答案中指出,但只有当您对系统有管理访问权限时才会起作用。我描述的其他解决方案不需要这样做。
We just had this same issue come up when we installed a newly minted certificate just this last week. I've also seen it two other times...yet I'm slow to learn. In all 3 cases I had to get the "intermediate certificates" and install them. In other words My cert was good but it's signer or it's signer's signer wasn't correctly installed. Make sure you go to your certificate provider's site and get the correct intermediate certificates and install them as well on your server and then this warning will go away.
可能不仅仅是上面的原因,也可能是客户没有更新列表……但我会确保这不仅仅是你没有完全安装正确的证书,然后再到客户端,并确保他们的列表更新。
如果您不关心检查证书的有效性,只需在wget命令行上添加——no-check-certificate选项。这对我来说很有效。
注意:这将使您容易受到中间人(MitM)攻击,不建议在任何您关心安全性的情况下使用。
如果您使用的是windows,只需转到控制面板,单击自动更新,然后单击windows更新网站链接。照着这一步做。至少这对我来说是有效的,没有更多的证书问题,即每当我像以前一样去https://www.dropbox.com。