Je voudrais savoir s'il est possible de forcer LWP :: UserAgent à accepter un certificat SSL expiré pour un seul serveur bien connu. Le problème est légèrement compliqué par le proxy Squid entre les deux.Puis-je forcer LWP :: UserAgent à accepter un certificat SSL expiré?
Je suis allé aussi loin que de mettre en place un environnement de débogage comme:
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;
Heureusement, le problème a finalement été résolu sur le serveur distant avant que je puisse venir avec ma propre solution, mais je voudrais pouvoir éventuellement contourner le problème s'il devait survenir de nouveau (le service sous-jacent avait été perturbé pendant plusieurs heures avant que je ne sois appelé à l'action). Je préférerais une solution au niveau LWP :: UserAgent à une solution basée sur les implémentations Crypt :: SSLeay ou openSSL sous-jacentes, si une telle solution existe, puisque je préfère ne pas relâcher la sécurité pour d'autres applications non liées. Bien sûr, je suis toujours à la recherche d'une telle solution, dans mon temps libre copieux.
Ceci est parfois cité comme une solution, mais cela ne semble pas fonctionner dans mon cas; Cependant, je n'ai pas eu le temps de le tester intensivement, et je pourrais bien avoir été dans l'erreur. Je prévois de vérifier si cela fonctionne ou non pour moi dans un environnement de test. –