如何解决错误 SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

how to solve error SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

community/AW_Blog: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 在 magento 博客提前安装中警告握手失败

这是一个与 Magento Connect 更新其服务器以不允许 SSLV3 有关的错误,但 Magento 仍在尝试使用它进行连接。我刚刚建立了一个修复程序。您可以在这里下载:https://www.dwdonline.com/blog/fix-magento-error14077410ssl-routinesssl23_get_server_hellosslv3-alert-handshake-failure.html。希望对您有所帮助!

Magento 似乎终于开始修复 Poodle,并在 Magento Connect 上禁用了 SSLV3。但是在左手,右手断开类型的事情中,忘记了他们提供的 downloader/ 软件在它使用的某些 curl 请求中有 SSLV3 问题并且没有提供补丁。

downloader/lib/Mage/HTTP/Client/Curl.php 是受影响的文件,需要修改 curl 请求以请求 TLS。线条看起来像这样:

$this->curlOption(CURLOPT_URL, $uri);
$this->curlOption(CURLOPT_SSL_VERIFYPEER, FALSE);
$this->curlOption(CURLOPT_SSL_VERIFYHOST, 2);

为 TLSV1 添加您自己的 curl 选项,如下所示:

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

请注意,这不在 app/corelib 中,而是在 downloader/lib

我在 Windows Server 2003 上有一个客户端 运行 PHP 5.4,在撰写本文时它使用 OpenSSL 0.9.8zf。我通过下载最新文件并替换 PHP 根目录中的 libeay32.dll 和 ssleay32.dll 升级到 OpenSSL 1.0.1p。这似乎解决了我的特定问题。

在我的例子中,我有 PHP 5.3.5,它与 OPENSSL 0.9.8 一起出现,我遇到了同样的问题。 已升级至 PHP 7,随更新版本的 OPENSSL 一起修复了该问题。