【问题标题】:SSL3_READ_BYTES erron on connecting via PHP cURL通过 PHP cURL 连接时出现 SSL3_READ_BYTES 错误
【发布时间】:2016-01-04 15:54:49
【问题描述】:

我的代码生成:

错误:14094410:SSL 例程:SSL3_READ_BYTES:sslv3 警报握手失败

$ch = curl_init('https://*************.org/');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($ch, CURLOPT_SSLVERSION,3);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,2);
//curl_setopt($ch, CURLOPT_SSLVERSION, 3);
//curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');
//url_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
//curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'RC4-SHA');
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1)  ;
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');

curl_exec($ch);
if(curl_errno($ch))
{
     echo 'error :' . curl_error($ch);
};
  • PHP 版本:5.5.6
  • cURL 版本:7.21.0
  • SSL 版本:OpenSSL/0.9.8o

【问题讨论】:

  • PussyTorrents 没有有效的 SSL 证书,或者证书未使用您在 CURL 请求中定义的正确协议。
  • 相关:SecSE:SSL handshake failure modes

标签: php ssl curl


【解决方案1】:

您尝试连接的网站似乎只支持 ECDHE-ECDSA 密码套件:you can check it here

OpenSSL 0.9.8 似乎不支持椭圆曲线加密:

./openssl098/openssl ciphers
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:IDEA-CBC-SHA:IDEA-CBC-MD5:RC2-CBC-MD5:RC4-SHA:RC4-MD5:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5

可以通过更新 OpenSSL 来修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2016-01-05
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 2014-10-31
    相关资源
    最近更新 更多