|
Packit |
e6c8bb |
# $Id: 52-DS-SHA256.t 1352 2015-06-02 08:13:13Z willem $ -*-perl-*-
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use strict;
|
|
Packit |
e6c8bb |
use Test::More;
|
|
Packit |
e6c8bb |
use Net::DNS;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my @prerequisite = qw(
|
|
Packit |
e6c8bb |
Digest::SHA
|
|
Packit |
e6c8bb |
MIME::Base64
|
|
Packit |
e6c8bb |
Net::DNS::RR::DNSKEY
|
|
Packit |
e6c8bb |
Net::DNS::RR::DS
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
foreach my $package (@prerequisite) {
|
|
Packit |
e6c8bb |
next if eval "require $package";
|
|
Packit |
e6c8bb |
plan skip_all => "$package not installed";
|
|
Packit |
e6c8bb |
exit;
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
plan tests => 3;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
# Simple known-answer tests based upon the examples given in RFC4509, section 2.3
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $dnskey = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
dskey.example.com. 86400 IN DNSKEY 256 3 5 ( AQOeiiR0GOMYkDshWoSKz9Xz
|
|
Packit |
e6c8bb |
fwJr1AYtsmx3TGkJaNXVbfi/
|
|
Packit |
e6c8bb |
2pHm822aJ5iI9BMzNXxeYCmZ
|
|
Packit |
e6c8bb |
DRD99WYwYqUSdjMmmAphXdvx
|
|
Packit |
e6c8bb |
egXd/M5+X7OrzKBaMbCVdFLU
|
|
Packit |
e6c8bb |
Uh6DhweJBjEVv5f2wwjM9Xzc
|
|
Packit |
e6c8bb |
nOf+EPbtG9DMBmADjFDc2w/r
|
|
Packit |
e6c8bb |
ljwvFw==
|
|
Packit |
e6c8bb |
) ; key id = 60485
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $ds = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
dskey.example.com. 86400 IN DS 60485 5 2 ( D4B7D520E7BB5F0F67674A0C
|
|
Packit |
e6c8bb |
CEB1E3E0614B93C4F9E99B83
|
|
Packit |
e6c8bb |
83F6A1E4469DA50A )
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $test = create Net::DNS::RR::DS( $dnskey, digtype => 'SHA256' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
is( $test->string, $ds->string, 'created DS matches RFC4509 example DS' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $test->verify($dnskey), 'created DS verifies RFC4509 example DNSKEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $ds->verify($dnskey), 'RFC4509 example DS verifies DNSKEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
$test->print;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
__END__
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|