Magento Downloader 1.9.2 알 수없는 암호 목록에 대한 솔루션


35

우리는 377 행 을 주석 처리하여 이것을 고쳤 습니다.downloader/lib/Mage/HTTP/Client/Curl.php

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

이것을 통과시키는 설정이있을 수 있지만 우리는 그렇게 멀지 않았습니다.


3
웹 서버를 수정해야합니다.
benmarks

나는 이것을 시도했다; 작동하지 않았다. 나는 또한 다른 해결책을 사용했지만 아무것도 해결하지 못했습니다. 어떤 아이디어?
harley_woop

그것은 나를 위해 일했다.
Bikram Shrestha

@benmarks 실제로 magento에서 curl / nss 대신 curl / openssl을 기대하는 버그입니다 ... 아래를보십시오
Ray Foss

답변:


15

이 문제를 일으킬 수있는 두 가지가 있습니다.

  1. OpenSSL을 사용하지 않습니다
  2. OpenSSL 빌드가 오래되었습니다

해결하려면

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
이봐 중재자 선거 @ 벤 지명 여기 내가 당신을 기분이 마땅합니다.
dh47

7

Nexcess (이 게시물 참조)에게 물었고이 답변을 얻었습니다.

찾은 페이지가 실제로 정확합니다. 우리는 새로운 업데이트로 이것을 많이 보았습니다. Magento는 좀 더 안전한 코드를 업데이트했지만 curl이 SSL 라이브러리에 대해 컴파일되어 특정 명령으로 확인할 수 있다고 가정했습니다.

불행히도, RedHat 및 CentOS 서버 (우리가 사용하는)에는 OpenSSL에 문제가없는 보안을 제공하는 NSS에 대해 컴파일 된 cURL이 있습니다. 이것의 부작용은 마젠 토의 점검이 올바른 질문을 보내지 않고 '알 수없는'응답을 얻는다는 것입니다.

Magento Downloader 1.9.2의 Solution to Magento Downloader 에서 언급 한 내용을 주석 처리하면 지금까지 모든 사람들이 트릭을 수행했습니다. 소문 공장은 Magento가 곧이 감독 문제를 해결할 것입니다.


아직 작동하지 않습니다 - 나는 또한 Nexcess (2015 9월 25일)이 문제가 있었다
brentwpeterson

티켓을 확인했는데 스레드가 끝났기 때문에 그 줄을 주석 처리했다고 생각합니다. 이후 새로운 설치를 시도하지 않았습니다.
Brendan Falkowski

링크가 작동하지 않는 것 같습니다. 여기로 리디렉션됩니다. 올바른 링크는 magento.stackexchange.com/a/73957/5209
mbalparda입니다.

이것은 작동하지만 업데이트에서 덮어 쓰는 것에 대해 걱정할 것입니다. Magento dev 팀으로이 문제를 해결 했습니까?
Eirik

더 이상 ./mage 도구를 사용하여 더 이상 Magento를 업데이트하지 않습니다. 이것은 오랫동안 선호되는 방법이지만 OS / 라이브러리 / 권한 문제에 따라 릴리스에 포함 된 모든 파일을 지속적으로 쓰지 못합니다. 신뢰할 수 있기 때문에 매번 파일 시스템에서 핵 옵션을 수행합니다. manuals.gravitydept.com/platforms/magento/update
Brendan Falkowski

5

서버 Centos 6에서 NSS는이 릴리스의 최신 버전이지만 마지막 릴리스는 아닙니다. 다른 솔루션 주석 라인, 라인 추가가 작동하지 않습니다. 작동하는 유일한 솔루션은 줄을 추가하여 https를 false로 설정하는 것입니다.

$https = false;

줄 전에

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

그리고 논평

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

1.9.2.4 마 젠토에서 작동합니다.


4

1.9.2.3에서 downloader / 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 라이브러리가 최신인지 확인하십시오.


나는 이것이 항상 시스템 (예를 들어,의 cPanel 서버를 참조) 업데이트 실용적이지 마 젠토 (1)의 경우와 이전의 서버 / 서비스에 대한 동의
MartyS Magemojo 지원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.