【发布时间】:2011-11-30 18:54:50
【问题描述】:
我正在尝试通过 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 Class 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
【问题讨论】:
-
如果有帮助,Web 服务器是 Oracle 应用服务器
Oracle-Application-Server-10g OracleAS-Web-Cache-10g/10.1.2.0.2 -
我刚在 Linux 机器上尝试过,效果很好。所以问题似乎特定于 Cygwin 或其中包含的 wget 版本。
-
有解决这个问题的方法吗?我使用最新的 cygwin wget/gnutls 收到此错误。它也适用于我在 linux 上。
-
不抱歉,我想我最终使用了另一种解决方案,但我现在不记得细节了。
标签: https cygwin ssl-certificate wget ssl