Я хотел бы знать, можно ли принудительно заставить LWP :: UserAgent принять сертификат с истекшим сроком действия SSL для одного хорошо известного сервера. Проблема немного усложняется прокси-сервером Squid между ними.Могу ли я заставить LWP :: UserAgent принять истекший сертификат SSL?
я дошел до того, чтобы настроить среду отладки, как:
use warnings;
use strict;
use Carp;
use LWP::UserAgent;
use LWP::Debug qw(+);
use HTTP::Cookies;
my $proxy = 'http://proxy.example.net:8118';
my $cookie_jar = HTTP::Cookies->new(file => 'cookies.tmp');
my $agent = LWP::UserAgent->new;
$agent->proxy([ 'http' ], $proxy);
$agent->cookie_jar($cookie_jar);
$ENV{HTTPS_PROXY} = $proxy;
$ENV{HTTPS_DEBUG} = 1;
$ENV{HTTPS_VERSION} = 3;
$ENV{HTTPS_CA_DIR} = '/etc/ssl/certs';
$ENV{HTTPS_CA_FILE} = '/etc/ssl/certs/ca-certificates.crt';
$agent->get('https://www.example.com/');
exit;
К счастью, проблема была в конечном счете, зафиксированной на удаленном сервере, прежде чем я смог придумать мое собственное решение, но я хотел бы чтобы иметь возможность дополнительно обходить проблему, если она возникнет снова (основная служба была нарушена в течение нескольких часов, прежде чем я был призван в действие).
Я бы предпочел решение на уровне LWP :: UserAgent выше одного на основе базовых реализаций Crypt :: SSLeay или openSSL, если такое решение существует, поскольку я предпочитаю не ослаблять безопасность для других несвязанных приложений. Конечно, я все еще ищу такое решение самостоятельно, в свое обильное свободное время.
Это иногда цитируется как решение, но оно, похоже, не работает в моем случае; У меня не было времени, чтобы проверить его широко, хотя, и я вполне мог ошибаться. Я планирую проверить, работает это или нет для меня в тестовой среде. – 2008-12-09 08:28:22