Centos 6 libCurl TLSv1 错误
Centos 6 libCurl TLSv1 Error
我有一个 php 脚本,它点击 https url 来获取数据。我之前使用的是 Centos 5,这个脚本没有显示任何问题。但是,在切换到 Centos 6 后,脚本停止工作,我不断收到的错误是 Unknown cipher in list: TLSv1.
在 php 脚本中我强制使用 TLSv1:
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
我不确定是什么导致了这种情况发生。当前 Curl 版本是
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
在 CentOS 5 上,curl 是针对 OpenSSL 构建的。
在 CentOS 6 上,curl 是针对 NSS 构建的。
它们不支持相同的密码列表字符串。话虽这么说,但在我不得不尝试的短时间内,我无法让任何密码字符串与 curl+NSS 一起使用。
此外,不要指望能够为根 certificates/etc 使用自定义证书存储。使用 curl+NSS...你不能。
我有一个 php 脚本,它点击 https url 来获取数据。我之前使用的是 Centos 5,这个脚本没有显示任何问题。但是,在切换到 Centos 6 后,脚本停止工作,我不断收到的错误是 Unknown cipher in list: TLSv1.
在 php 脚本中我强制使用 TLSv1:
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
我不确定是什么导致了这种情况发生。当前 Curl 版本是
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
在 CentOS 5 上,curl 是针对 OpenSSL 构建的。
在 CentOS 6 上,curl 是针对 NSS 构建的。
它们不支持相同的密码列表字符串。话虽这么说,但在我不得不尝试的短时间内,我无法让任何密码字符串与 curl+NSS 一起使用。
此外,不要指望能够为根 certificates/etc 使用自定义证书存储。使用 curl+NSS...你不能。