PERL Get_Server_Certificate 证书验证失败错误

Rub*_*vin 6 perl ssl certificate lwp

我在尝试向网站发送 POST 消息时收到证书错误。

我收到的错误:

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

我正在使用的代码是:

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;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试了一些在网上找到的“修复”:

尝试通过环境变量禁用验证主机名: $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0;

尝试通过 ssl_opts 禁用验证主机名:

my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 }, );
Run Code Online (Sandbox Code Playgroud)

尝试使用 Mozilla CA 并将 HTTPS_CA_FILE 设置为/usr/lib/perl5/site_perl/5.8.8/Mozilla/CA/cacert.pem

此时我没有选择尝试,所以我希望有人以前遇到过这个问题并可以提供帮助。

Ben*_*imm 2

这只是一个拼写错误,使用“verify_hostname”而不使用“s”:

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