|
Packit |
e6c8bb |
# $Id: 51-DS-SHA1.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::KEY
|
|
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 RFC3658, section 2.7
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $key = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
dskey.example. IN KEY 256 3 1 (
|
|
Packit |
e6c8bb |
AQPwHb4UL1U9RHaU8qP+Ts5bVOU1s7fYbj2b3CCbzNdj
|
|
Packit |
e6c8bb |
4+/ECd18yKiyUQqKqQFWW5T3iVc8SJOKnueJHt/Jb/wt
|
|
Packit |
e6c8bb |
) ; key id = 28668
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $ds = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
dskey.example. IN DS 28668 1 1 (
|
|
Packit |
e6c8bb |
49fd46e6c4b45c55d4ac69cbd3cd34ac1afe51de
|
|
Packit |
e6c8bb |
;xidez-ticuv-kicur-galah-hehyp-sopys-roges-titap-sakoz-vygat-vyxox
|
|
Packit |
e6c8bb |
)
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $test = create Net::DNS::RR::DS( $key, digtype => 'SHA1', );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
is( $test->string, $ds->string, 'created DS matches RFC3658 example DS' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $test->verify($key), 'created DS verifies RFC3658 example KEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $ds->verify($key), 'RFC3658 example DS verifies example KEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
$test->print;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
__END__
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|