Bunu 377. Satırda yorum yaparak düzelttik .downloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Bunun geçmesine izin veren bir ayar olabilir, ancak o kadar ileri gidemedik.
Bunu 377. Satırda yorum yaparak düzelttik .downloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Bunun geçmesine izin veren bir ayar olabilir, ancak o kadar ileri gidemedik.
Yanıtlar:
Buna neden olacak iki şey var.
OpenSSL kullanmadığınızı kontrol edin,
php -r "print_r(curl_version());" | grep ssl_version
Eğer OpenSSL'den başka bir şey gösterirse - Cevabınız budur. Çözüm, söz konusu satırı kaldırmak / yorumlamak olacaktır.
OpenSSL kütüphaneniz güncel değil gibi görünüyor.
Örneğin. Tipik bir web sunucusu gösterirdi
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
Ne openssl version
gösterir?
SSL kitaplığınızı yükseltmeniz, yalnızca bundan daha fazla nedenden ötürü (örneğin, eski kitaplıklarda açıklanan güvenlik açıkları) gibi görünüyor.
Nexcess'e sordum (bu yazıya atıfta bulunarak) ve şu cevabı aldım:
Bulduğun sayfa aslında doğru. Yeni güncelleme ile bunu çok görüyoruz. Olan şu ki, Magento bazı kodları daha güvenli olacak şekilde güncelledi, ancak kıvrılmaların bazı komutlarla kontrol edebilecekleri SSL kütüphanelerine karşı derleneceğini varsaydılar.
Maalesef, RedHat ve CentOS sunucuları (kullandığımız), OpenSSL’in sorun yaşadığı bazı delikleri olmadan güvenliği sağlayan NSS’ye karşı derlenmiş bir cURL’ye sahip. Bunun yan etkisi, Magento'nun yaptığı çekin doğru soruyu göndermemesi ve 'bilinmeyen' bir yanıt almasıdır.
Solution to Magento Downloader 1.9.2'de belirtilen satırı yorumlayan bilinmeyen şifre listesi şimdiye kadar herkes için hile yaptı. Söylenti fabrikası Magento yakında bu gözetimi ele alacak.
Centos 6 sunucumuzda, NSS bu sürüm için güncel fakat son sürüm değil. Satır ekleyen diğer çözümler, satır ekleme çalışmıyor. İşe yarayan tek çözüm, satır ekleyerek https'yi false'a zorlamaktır.
$https = false;
çizgiden önce
$uriModified = $this->getModifiedUri($uri, $https);
ve yorum yapma
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
1.9.2.4 Magento'da bizim için çalışıyor.
1.9.2.3'te, downloader / lib / Mage / HTTP / Client / Curl.php line 370 ish dosyasındaki follwing'i kullanın:
$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);
Yorumlanan bitleri ve hemen altındaki yeni satırı kontrol edin
@ ben bir alt dava daha var. 1. Kıvrılma ve nss güncel değilse, tek başına satır yorumunu çalışmayabilir.
Openssl ile oluşturulmuş değilse, kıvrım nss (CentOS / RHEL kıvrımı) ile oluşturulabilir. Kıvrılma ve nss kütüphanelerinin güncel olduğundan emin olun.