2015-02-05 3 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 построен против NSS.

Они не поддерживают одинаковые строки списка шифров. Это было сказано, что я не мог, за короткое время мне пришлось попробовать его, получить любые шифрованные строки для работы с curl + NSS.

Кроме того, не ожидайте, что сможете использовать собственные хранилища сертификатов для корневых сертификатов/etc. с curl + NSS ... вы не можете.

+0

Хорошо, так что это имеет смысл, потому что я искал вокруг, и увидел, что есть пакеты curl-openssl. Вы порекомендовали бы заменить curl NSS на openssl? Я попытался установить его, но похоже, что они сидят бок о бок, и я не могу заменить его другим. – foureight84

+0

@ foureight84 Где вы нашли этот пакет 'curl-openssl'? И я не знаю, что вы можете заменить тот, который использует yum/pycurl. –

+0

http://software.opensuse.org/download.html?project=security%3Ashibboleth&package=curl-openssl есть также libcurl-openssl – foureight84