Ошибка скручивания: 14094410: подпрограммы SSL: ssl3_read_bytes: сбой квитирования оповещения sslv3 - PullRequest
0 голосов
/ 16 января 2020

У меня есть 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 одинакова на всех машинах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...