我正在尝试通过Cygwin使用wget从https网站获取一些内容。不幸的是,当我尝试连接时,我得到了以下错误:
#wget https://www.mysite.com/mycontent
Connecting to XXXXXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.该证书是VeriSign 3级证书,并且未过期。我尝试过使用--no-check-certificate、--secure-protocol=SSLv2、--secure-protocol=SSLv3等选项,这些选项不起作用,但给出的错误略有不同:
$ wget --secure-protocol=SSLv3 --no-check-certificate https://www.mysite.com/mycontent
Connecting to XXXXXX... connected.
GnuTLS: GnuTLS internal error.
Unable to establish SSL connection.我还尝试从PC上的Internet Explorer导出DER证书,然后将该证书传递给wget,同样也失败了:
$ wget --certificate-type=DER --certificate=mysite.cer https://www.mysite.com/mycontent
Connecting to XXXXX... connected.
GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.我是不是漏掉了什么?有没有人能告诉我要怎么做才能做到这一点?
对不起,由于雇主保密的原因,我不得不修改真实的服务器信息。
下面是我的wget/cygwin配置信息:
$ wget --version
GNU Wget 1.13.4 built on cygwin.
+digest +https +ipv6 +iri +large-file +nls -ntlm +opie +ssl/gnutls
Wgetrc:
/etc/wgetrc (system)
Locale: /usr/share/locale
Compile: gcc-4 -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
-DLOCALEDIR="/usr/share/locale" -I.
-I/usr/src/wget-1.13.4-1/src/wget-1.13.4/src -I../lib
-I/usr/src/wget-1.13.4-1/src/wget-1.13.4/lib -g -O2 -pipe
Link: gcc-4 -g -O2 -pipe -liconv -lintl /usr/lib/libgnutls.dll.a
/usr/lib/libtasn1.dll.a /usr/lib/libz.dll.a
/usr/lib/libgcrypt.dll.a /usr/lib/libgpg-error.dll.a
/usr/lib/libintl.dll.a -L/usr/lib/ncursesw /usr/lib/libiconv.dll.a
-lgcrypt -lgpg-error -lz -lidn ftp-opie.o gnutls.o ../lib/libgnu.a

发布于 2011-12-01 02:58:54
我曾在尝试从IIS框中wget某些内容时看到过这种情况。存在一个错误地处理SSL请求的IIS错误。浏览器会忽略它,wget不会。
如果我没记错(已经有几年了),有一个wget设置告诉它忽略SSL证书错误……也许是--sslcheckcert选项。尝试使用--sslcheckcert=0。
https://stackoverflow.com/questions/8331306
复制相似问题