首页 > 解决方案 > 卷曲错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 警报握手失败

问题描述

我有这个 php 代码,它试图向网络设备发送获取请求

$username='restconf-api';
$password='rest.b';

 $apiUrl = 'https://10.10.0.254:1025/restconf/data/ietf-system:system-state?content=all';
     $curl_handle = curl_init();
     curl_setopt($curl_handle, CURLOPT_URL, $apiUrl);

     curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
     curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, 0);
     curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 0);


     curl_setopt($curl_handle, CURLOPT_SSLVERSION, 4);
     curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
 curl_setopt($curl_handle, CURLOPT_SSL_CIPHER_LIST, 'DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES128-SHA256:DHE-RSA-AES128-SHA256:AES256-SHA256:SSLv3');



     curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/yang-data+xml'

));
     $response = curl_exec($curl_handle);

     $content = curl_exec( $curl_handle );
     $err     = curl_errno( $curl_handle );
     $errmsg  = curl_error( $curl_handle );
     $header  = curl_getinfo( $curl_handle );
     curl_close( $curl_handle );

     $header['errno']   = $err;
     $header['errmsg']  = $errmsg;
     $header['content'] = $content;
    curl_close($curl_handle);

$xml = simplexml_load_string($response);
 $json = json_encode($xml);

$array = json_decode($json,TRUE);
     var_dump(  $array);
echo $array['data']['system-state']['system-version'];

这段代码在我的第一台服务器上成功运行,但是当我在其他机器上尝试它时它不起作用,我只是删除了这些行并且它起作用了

   curl_setopt($curl_handle, CURLOPT_SSLVERSION, 3);
    curl_setopt($curl_handle, CURLOPT_SSL_CIPHER_LIST, 'DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES128-SHA256:DHE-RSA-AES128-SHA256:AES256-SHA256:SSLv3');

但是当我尝试使用另一台机器时(所有这些机器都是 ubuntu 18.04 )它不起作用我试图删除 ubove 行但仍然出现此错误

错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 在我添加这些行时警告握手失败

   curl_setopt($curl_handle, CURLOPT_SSLVERSION, 3);
    curl_setopt($curl_handle, CURLOPT_SSL_CIPHER_LIST, 'DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:AES128-SHA256:DHE-RSA-AES128-SHA256:AES256-SHA256:SSLv3');

我收到这个错误

OpenSSL 是在没有 SSLv3 支持的情况下构建的

为什么会这样,所有机器的PHP版本都是一样的

标签: phpapisslcurl

解决方案


推荐阅读