如何让WWW :: Mechanize接受https服务器的特定SSL证书?
[SSL证书应通过MD5 / SHA1 / ...校验和验证]
背景:
到目前为止,我需要一个黑客接受过期(目前为止几天)SSL证书[替换标准的检查集]。我希望以后能够将SSL校验和检查添加为附加检查。
答案 0 :(得分:1)
SSL_fingerprint
,可用于指定证书的预期指纹。有关详细信息,请参阅the documentation,但这是一个简短的示例:
use strict;
use warnings;
use WWW::Mechanize;
my %sslargs = (
SSL_fingerprint => 'sha256$a0b0d7c3d86a03051af6a43726a0dd855825323cae59fdff2d9b9a8db83934b8',
);
my $ua = WWW::Mechanize->new( ssl_opts => \%sslargs);
my $resp = $ua->get("https://www.example.com");
请注意,您至少需要IO :: Socket :: SSL版本1.980(2014年4月发布)才能正确支持SSL_fingerprint,并且您还应该使用相当新版本的LWP。
使用SSL_fingerprint时,只要指纹匹配,就会忽略所有其他检查,即您可以使用自签名证书,过期证书或错误主题的证书。