Blame t/52-DS-SHA256.t

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