Summary
Net::SSL::ExpireDateと
Test::Baseを用いて,SSL証明書の期限切れをチェック.
#!/usr/bin/env perl
# -*- mode: cperl; -*-
use Test::Base;
use Net::SSL::ExpireDate;
use Regexp::Common qw(net);
my $Check_Duration;
# $Check_Duration = '15 years';
plan tests => 1 * blocks;
run {
my $block = shift;
my $ed = Net::SSL::ExpireDate->new( build_arg($block->name) );
is($ed->is_expired($Check_Duration) && $ed->expire_date->iso8601,
undef,
$block->name);
};
sub build_arg {
my ($v) = @_;
if ($v =~ m{^(file)://(.+)}) {
return $1 => $2;
} elsif ($v =~ m{^(https)://([^/]+)}) {
return $1 => $2;
} elsif ($v =~ m{^$RE{net}{domain}{-nospace}{-keep}$}) {
return 'https' => $1;
} elsif (-r $v) {
return 'file' => $v;
} else {
croak "$v: assume file. but cannot read.";
}
}
__END__
=== rt.cpan.org
=== www.google.com
Reference
(ひ)メモ - Net::SSL::ExpireDate + Test::Base で証明書の期限切れをチェック
http://d.hatena.ne.jp/hirose31/20061121/1164042331
via
オレンジニュース - 2006-11-21
http://secure.ddo.jp/~kaku/tdiary/20061121.html#p10