如何在Windows上的HTTPS URL上运行wget时修复证书错误?

时间:2017-07-07 19:56:16

标签: windows ssl wget

我尝试使用Wget for Windows从特定网址下载文档。

当我这样做时,对于许多(但不是全部)网站,我收到证书错误。例如:

C:\temp> wget https://stackoverflow.com/

产地:

--2017-07-07 15:54:40--  https://stackoverflow.com/
Resolving stackoverflow.com (stackoverflow.com)... 151.101.193.69, 151.101.129.69, 151.101.1.69, ...
Connecting to stackoverflow.com (stackoverflow.com)|151.101.193.69|:443... connected.
ERROR: cannot verify stackoverflow.com's certificate, issued by 'CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US':
  Unable to locally verify the issuer's authority.
To connect to stackoverflow.com insecurely, use `--no-check-certificate'.

正如错误消息所示,我可以通过在命令中包含--no-check-certificate参数来解决此问题。但是,我想避免这种情况,因为它是(1)不安全,(2)麻烦。

正如您所料,我可以使用此PC上的任何网络浏览器(Firefox,Chrome,Edge,IE,Vivaldi)连接到https://stackoverflow.com/(以及其他受影响的网址),而不会出现任何问题。< / p>

我没有运行Cygwin(因此this similar question的答案不适用)。

有没有办法可以配置Wget for Windows使用我的操作系统和/或浏览器使用的同一组根证书,这样它就不会生成&#34;无法在本地验证发行者& #39;权威&#34;错误?

1 个答案:

答案 0 :(得分:4)

我一直使用的Wget for Windows(wget.exe)版本来自http://gnuwin32.sourceforge.net/packages/wget.htm,版本号为1.11.4,日期为2008-12-31。

我刚用https://eternallybored.org/misc/wget/的较新版本替换了版本号为1.19.1的版本,并提到了“Windows证书存储支持。”

使用较新的版本,我不再收到Unable to locally verify the issuer's authority错误,并且下载似乎安全可靠。