Мыло Perl и SSL-сертификат изменены - PullRequest
0 голосов
/ 29 января 2019

У меня есть Perl-код, который отправляет SOAP-запрос через SOAP :: Lite следующим образом:

eval 
{
  $sresp = SOAP::Lite
    ->uri('http://machine/key')
    ->proxy('https://usr:pwd@website.com/addr/addr/remotescript.pl')
    ->remotescript_pl_function(@parms, $gmtime);
};
if ($@)
{
  print $@;
}

После замены существующего сертификата для * .website.com я не являюсьбольше получаю действительные ответы, я получаю

500 Can\'t connect to website.com:443 at localscript.pl line 123.

Если я включаю

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

, все работает.Но я хотел бы проверить имя хоста SSL, как я могу это сделать или отследить проблему?(Я немного растерялся в этом прокси).

У меня есть код на c ++ с libcurl, который работает в том же духе и работает хорошо.Ввод https://website.com в браузер работает нормально.Ввод http://machine (аппарат находится в локальной сети) работает.

edit 1:

Оба perl -MIO :: Socket :: SSL= debug4 yourscript.pl и analy-ssl.pl из p5-ssl-tools показывают сообщение об ошибке 1416F086, которое приводит меня к сведениям о том, что в сертификате SSL есть «проблемы с цепочкой», которые необходимо исправить в сертификатеустановка.

edit 2:

После исправления сертификата ошибка исчезла!Отлично, решено!

1 Ответ

0 голосов
/ 01 февраля 2019

Вот решение, упомянутое в комментариях Корион и Штеффен Ульрих :

Запуск либо:

  1. https://github.com/noxxi/p5-ssl-tools script analyse-ssl.pl
  2. perl -MIO :: Socket :: SSL = debug4 yourscript.pl

отображается одинаковоошибка: Ошибка попытки подключения SSL: 1416F086: процедуры SSL: tls_process_server_certificate: сбой проверки сертификата .Это указало мне на: телеграмма бота Ошибка SSL: ошибка SSL {ошибка: 1416F086: подпрограммы SSL: tls_process_server_certificate: сбой проверки сертификата} , где я обнаружил, что у меня тоже есть «Проблемы с цепочкой неполные».

После исправления сертификата ошибка исчезла.

...