简体   繁体   中英

PERL Get_Server_Certificate certificate verify failed error

I'm receiving a certificate error when trying to send a POST message to a website.

The error I'm receiving:

LWP::Protocol::https::Socket: SSL connect attempt failed error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at /usr/lib/perl5/site_perl/5.8.8/LWP/Protocol/http.pm line 49

The code that I'm using is:

my $webpage = "";

my $ua = LWP::UserAgent->new( );
$ua->agent('Mozilla');

$webpage = "https://mysite:444/myapp/app.aspx";


my $msg = 'An XML Message';

my $req = POST $webpage, 
                 Content_Type => 'text/xml',
                 Content => $msg;

So far I've tried a few "fixes" that I've found online:

Tried disabling verify hostname through environment variable: $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0;

Tried disabling verify hostname through ssl_opts:

my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, );

Tried using the Mozilla CA and setting HTTPS_CA_FILE to /usr/lib/perl5/site_perl/5.8.8/Mozilla/CA/cacert.pem ?

At this point I'm out of options to try so I'm hoping someone has run into this problem before and can provide assistance.

It's just a typo, use "verify_hostname" without the "s":

my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM