2014-09-29 174 views
0

我在这里看过几个类似的问题,但他们都没有帮助我。我想连接到通过RSA SecurID密钥卡使用单点登录的Web服务。我首先尝试加载由初始GET请求提供的任何cookie。这是我的命令:CURL返回“未知的SSL协议错误”

curl -A "Mozilla/5.0" -L -b cookies.txt -c cookies.txt -v -X GET \ 
    https://sso.example.com/sso/login.htm 

我得到这样的回应:

* About to connect() to sso.example.com port 443 (#0) 
* Trying 23.12.245.199... connected 
* Connected to sso.example.com (23.12.245.199) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs/ 
* SSLv3, TLS handshake, Client hello (1): 
* Unknown SSL protocol error in connection to sso.example.com:443 
* Closing connection #0 
curl: (35) Unknown SSL protocol error in connection to sso.example.com:443 

下面是我使用的是什么:

# curl --version 
curl 7.19.7 (x86_64-suse-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8j zlib/1.2.7 libidn/1.10 
Protocols: tftp ftp telnet dict ldap http file https ftps 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
# more /etc/*-release 
SUSE Linux Enterprise Server 11 (x86_64) 
VERSION = 11 
PATCHLEVEL = 3 
# uname -r 
3.0.101-0.21-default 

任何想法?

回答

1

这是OpenSSL在您的客户端有一个问题,要了解服务器在说什么,并因此出错。

有时你可以解决这类问题迫使卷曲说话的SSLv3(-3),TLS1.0(-1),甚至的SSLv2(-2

...还可以考虑您的严重过时curl和OpenSSL的版本只有一两个导致这个问题的bug,并且你可以通过升级到现代版本来解决这个问题(然后修复你的版本中包含的大量安全问题)。