perl – 升级LWP后,脚本破裂“证书验证失败”

前端之家收集整理的这篇文章主要介绍了perl – 升级LWP后,脚本破裂“证书验证失败”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有很多脚本,其中大多数是基于WWW :: Mechanize,从数据可以通过HTTP访问的杂项硬件。升级大部分的perl安装及其模块后,使用HTTPS://的所有脚本都因“证书验证失败”而破裂

这是因为较新版本的LWP对证书进行了适当的检查,并且如果某些不匹配,则会死亡。

在我的情况下,由于情况,预期失败的证书认证,所以我需要找到一个干净地绕过这个检查的方法

解决方法

说我想告诉你一些东西,我不想让别人知道。我们会安排一个密码,我会用它来加密邮件,然后我会给你发信息。

如果我没有确定给我密码和加密消息的人是你吗?那么任何数量的人都可以简单地模仿你,加密将是无效的。这是直到最近的LWP的HTTPS支持的状态。

现在,LWP实际上检查谁在说话,除非你要求LWP像以前一样行事。你可以使用:

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

如果要影响脚本中的所有LWP :: UserAgent实例,而不指定该选项,则可以将以下内容添加到脚本中

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

或者您可以按如下方式启动脚本:

PERL_LWP_SSL_VERIFY_HOSTNAME=0 script.pl

最后,如果您希望LWP始终不安全,可以将以下内容添加到您的登录脚本中:

export PERL_LWP_SSL_VERIFY_HOSTNAME=0

但是,我建议上述没有。更好的选择是为您正在通信的主机提供证书。 (这相当于在Firefox中添加异常,如果你知道我的意思)。请参见documentation for $ ua-> ssl_opts。

原文链接:https://www.f2er.com/Perl/173000.html

猜你在找的Perl相关文章