Решение Magento Downloader 1.9.2 неизвестный список шифров

35

Мы исправили это, закомментировав строку 377 вdownloader/lib/Mage/HTTP/Client/Curl.php

//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')

Там может быть настройка, которая позволяет этому пройти, но мы не зашли так далеко.

MartyS
источник
3
Вы действительно должны исправить свой веб-сервер.
отметки
Я попробовал это; не работал Я также использовал другие решения, и ничто, казалось, не решало это. Любые идеи?
harley_woop
это сработало для меня.
Бикрам Шреста
@benmarks Это на самом деле ошибка в magento, ожидающая curl / openssl вместо curl / nss ... см. ниже
Рэй Фосс

Ответы:

15

Есть две вещи, которые могут вызвать это.

  1. Вы не используете OpenSSL
  2. Ваша сборка OpenSSL устарела

Чтобы решить 1.

Убедитесь, что вы не используете OpenSSL,

php -r "print_r(curl_version());" | grep ssl_version

Если он отображает что-то кроме OpenSSL - тогда это ваш ответ. Решением будет удаление / комментирование рассматриваемой строки.


Решить 2.

Похоже, ваша библиотека OpenSSL устарела.

Например. Типичный веб-сервер будет показывать,

openssl ciphers | tr ':' '\n'
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
SRP-DSS-AES-256-CBC-SHA
SRP-RSA-AES-256-CBC-SHA
SRP-AES-256-CBC-SHA
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
DHE-DSS-CAMELLIA256-SHA
ECDH-RSA-AES256-GCM-SHA384
ECDH-ECDSA-AES256-GCM-SHA384
ECDH-RSA-AES256-SHA384
ECDH-ECDSA-AES256-SHA384
ECDH-RSA-AES256-SHA
ECDH-ECDSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
CAMELLIA256-SHA
PSK-AES256-CBC-SHA
ECDHE-RSA-DES-CBC3-SHA
ECDHE-ECDSA-DES-CBC3-SHA
SRP-DSS-3DES-EDE-CBC-SHA
SRP-RSA-3DES-EDE-CBC-SHA
SRP-3DES-EDE-CBC-SHA
EDH-RSA-DES-CBC3-SHA
EDH-DSS-DES-CBC3-SHA
ECDH-RSA-DES-CBC3-SHA
ECDH-ECDSA-DES-CBC3-SHA
DES-CBC3-SHA
PSK-3DES-EDE-CBC-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
SRP-DSS-AES-128-CBC-SHA
SRP-RSA-AES-128-CBC-SHA
SRP-AES-128-CBC-SHA
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
DHE-RSA-SEED-SHA
DHE-DSS-SEED-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-DSS-CAMELLIA128-SHA
ECDH-RSA-AES128-GCM-SHA256
ECDH-ECDSA-AES128-GCM-SHA256
ECDH-RSA-AES128-SHA256
ECDH-ECDSA-AES128-SHA256
ECDH-RSA-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
SEED-SHA
CAMELLIA128-SHA
PSK-AES128-CBC-SHA
ECDHE-RSA-RC4-SHA
ECDHE-ECDSA-RC4-SHA
ECDH-RSA-RC4-SHA
ECDH-ECDSA-RC4-SHA
RC4-SHA
RC4-MD5
PSK-RC4-SHA
EDH-RSA-DES-CBC-SHA
EDH-DSS-DES-CBC-SHA
DES-CBC-SHA
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
EXP-RC2-CBC-MD5
EXP-RC4-MD5

Что openssl versionпоказывает?

Похоже, вам нужно обновить свою библиотеку SSL по нескольким причинам, а не только по этой причине (т. Е. Многочисленные раскрытые уязвимости в старых библиотеках).

Бен Лессани - Сонасси
источник
1
Эй @ben выдвигать кандидатуры на выборах Модератор здесь я чувствую , что ты заслужил.
dh47
7

Я спросил Nexcess (ссылаясь на этот пост) и получил этот ответ:

Страница, которую вы нашли, действительно правильная. Мы видели это много с новым обновлением. Случилось так, что Magento обновил некоторый код, чтобы сделать его более безопасным, но они сделали предположение, что curl будет скомпилирован с библиотеками SSL, которые они могли проверять с помощью определенных команд.

К сожалению, серверы RedHat и CentOS (которые мы используем) имеют cURL, скомпилированный с NSS, который обеспечивает безопасность без некоторых дыр, с которыми у OpenSSL были проблемы. Побочным эффектом этого является то, что проверка, которую выполняет Magento, не отправляет правильный вопрос и получает «неизвестный» ответ.

Закомментирование строки, которая упоминается в решении для Magento Downloader 1.9.2, список неизвестных шифров до сих пор помогал всем. Мельница слухов, что Magento скоро решит эту проблему.

Брендан Фальковски
источник
У меня также была эта проблема с Nexcess (25 сентября 2015 г.) - все еще не работает
brentwpeterson
Я проверил свой билет, и я думаю, что комментирование этой строки сработало (для меня), потому что там поток закончился. С тех пор не пробовал новую установку.
Брендан Фальковски
Похоже, что ссылка не работает, она просто перенаправляет сюда. Правильная ссылка - magento.stackexchange.com/a/73957/5209
mbalparda
это должно работать, но я буду обеспокоен перезаписью в обновлении. Вы прослушали это с командой разработчиков Magento?
Эйрик
Я больше не использую инструменты ./mage для обновления Magento. Это был мой предпочтительный метод в течение долгого времени, но он постоянно не может записать все файлы, включенные в выпуск из-за различных проблем с ОС / библиотекой / разрешениями. Я делаю ядерную опцию в файловой системе каждый раз, потому что это надежно: manuals.gravitydept.com/platforms/magento/update
Брендан Фальковски
5

на нашем сервере Centos 6 NSS обновлена ​​до этого выпуска, но не до последнего выпуска. другие решения, комментирующие строки, добавляющие строки не работают. единственное решение, которое работает, это принудительно установить https в false, добавив строку

$https = false;

перед линией

$uriModified = $this->getModifiedUri($uri, $https);

и комментируя

$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

У нас работает на 1.9.2.4 Magento.

Орельен
источник
4

На 1.9.2.3 используйте следующую загрузочную / lib / Mage / HTTP / Client / Curl.php строку 370 ish:

$uriModified = $this->getModifiedUri($uri, $https);
$this->_ch = curl_init();
$this->curlOption(CURLOPT_URL, $uriModified);
$this->curlOption(CURLOPT_SSL_VERIFYPEER, false);
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
$this->curlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
$this->getCurlMethodSettings($method, $params, $isAuthorizationRequired);

Проверьте закомментированные биты и новую строку чуть ниже

ShaunOReilly
источник
2

@ben в 1 есть еще один подслуча: комментирование одной строки может не сработать, если curl и nss не устарели.

Если не построен с openssl, curl может быть построен с помощью nss (CentOS / RHEL curl). Убедитесь, что библиотеки curl и nss обновлены.

Прадип Шах
источник
Я согласен, на старых серверах / сервисах это было в случае с Magento 1. Обновление системы не всегда практично (см., Например, серверы cPanel)
MartyS