2015-02-05 91 views
2

我有一个php脚本,点击一个https url来抓取数据。我之前在Centos 5上,这个脚本没有显示任何问题。然而,切换至CentOS 6后的脚本停止工作,我不断收到错误Unknown cipher in list: TLSv1.Centos 6 libCurl TLSv1错误

在PHP脚本我逼的TLSv1:

curl_setopt($ch, CURLOPT_SSLVERSION, 1); 
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1'); 

我不知道是什么导致这种情况发生。当前版本的卷曲是

curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL lib 

OpenSSL的版本:

OpenSSL 1.0.1e-fips 11 Feb 2013 

回答

3

在CentOS 5卷曲建对OpenSSL的。

关于CentOS 6 curl是针对NSS构建的。

它们不支持相同的密码列表字符串。话虽如此,我不能在短时间内尝试使用curl + NSS来获取任何密码字符串。

此外,不要指望能够使用自定义证书存储区的根证书/等。用curl + NSS ......你不能。

+0

好吧,这样才有意义,因为我在四处搜寻,看到有卷曲openssl包。你会建议用openssl替换NSS curl吗?我确实尝试安装它,但看起来像他们并排坐在一起,我似乎无法取代另一个。 – foureight84 2015-02-05 22:26:12

+0

@ foureight84你从哪里找到这个'curl-openssl'包?我不知道你可以替换yum/pycurl正在使用的那个。 – 2015-02-05 22:45:44

+0

http://software.opensuse.org/download.html?project=security%3Ashibboleth&package=curl-openssl还有一个libcurl-openssl – foureight84 2015-02-05 22:58:58