perl -5.16.0-LWP-Protocol-Connect-6.09.tgz поддерживает TLS 1.2? - PullRequest
0 голосов
/ 06 февраля 2020

Я новичок в мире perl, но мой скрипт завершается с ошибкой при загрузке через SFTP с ошибкой ниже,

IN SUBROUTINE: CSRF TOKEN DECODED CONTENT: ошибка при настройке ssl-соединения (SSL Попытка подключения не удалась с неизвестной ошибкой: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3) в строке /home/rcc/perl5/lib/perl5/LWP/Protocol/https/connect/Socket.pm 23. Цикл ответа csrf массив, параметр = [ошибка при настройке ssl-соединения (попытка SSL-соединения завершилась неудачно с неизвестной ошибкой: 14077410: процедуры SSL: SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3) в / home / rcc / perl5 / lib / perl5 / LWP / Protocol / https /connect/Socket.pm строка 23.]

Исходя из предположения, что из-за устаревания TLS, мы обновили версию SSL, но все еще не работает, может кто-нибудь помочь нам понять, как решить проблему?

Или существует последняя версия perl LWP, которая путем обновления может решить проблему? перепаковка текущего пакета кажется сложной.

Заранее спасибо.

1 Ответ

1 голос
/ 06 февраля 2020

Обработка SSL не выполняется напрямую LWP::Protocol::connect. Вместо этого он использует IO::Socket::SSL, который затем использует Net::SSLeay, который затем использует ссылку в библиотеке OpenSSL, которая не обязательно является той, которую использует двоичный файл openssl. Общая возможность использовать TLS 1.2 зависит от версии OpenSSL, которая должна быть не ниже 1.0.1.

Для получения версий различных частей используйте следующий код

use strict;
use IO::Socket::SSL;

printf "IO::Socket::SSL  %s\n", $IO::Socket::SSL::VERSION;
printf "Net::SSLeay      %s\n", $Net::SSLeay::VERSION;
printf "OpenSSL compiled %x\n", Net::SSLeay::OPENSSL_VERSION_NUMBER();
printf "OpenSSL linked   %x - %s\n", Net::SSLeay::SSLeay(), 
   Net::SSLeay::SSLeay_version(0);

... SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3

Обратите внимание, что проблема рукопожатия TLS может иметь множество разных причин, а неподдерживаемая версия протокола TLS - лишь одна из многих. Отсутствие общих шифров является еще одной распространенной проблемой на этом этапе подключения.

...