|
Packit |
e6c8bb |
# $Id: 54-DS-SHA384.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 RFC6605, section 6.2
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $dnskey = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
example.net. 3600 IN DNSKEY 257 3 14 (
|
|
Packit |
e6c8bb |
xKYaNhWdGOfJ+nPrL8/arkwf2EY3MDJ+SErKivBVSum1
|
|
Packit |
e6c8bb |
w/egsXvSADtNJhyem5RCOpgQ6K8X1DRSEkrbYQ+OB+v8
|
|
Packit |
e6c8bb |
/uX45NBwY8rp65F6Glur8I/mlVNgF6W/qTI37m40 )
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $ds = new Net::DNS::RR <<'END';
|
|
Packit |
e6c8bb |
example.net. 3600 IN DS 10771 14 4 (
|
|
Packit |
e6c8bb |
72d7b62976ce06438e9c0bf319013cf801f09ecc84b8
|
|
Packit |
e6c8bb |
d7e9495f27e305c6a9b0563a9b5f4d288405c3008a94
|
|
Packit |
e6c8bb |
6df983d6 )
|
|
Packit |
e6c8bb |
END
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my $test = create Net::DNS::RR::DS(
|
|
Packit |
e6c8bb |
$dnskey,
|
|
Packit |
e6c8bb |
digtype => 'SHA384',
|
|
Packit |
e6c8bb |
ttl => 3600
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
is( $test->string, $ds->string, 'created DS matches RFC6605 example DS' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $test->verify($dnskey), 'created DS verifies RFC6605 example DNSKEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( $ds->verify($dnskey), 'RFC6605 example DS verifies DNSKEY' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
$ds->print;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
__END__
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|