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


35

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

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

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


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);

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


2

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

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


Я согласен, на старых серверах / сервисах это было в случае с Magento 1. Обновление системы не всегда практично (см., Например, серверы cPanel)
MartyS
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.