Blame t/54-DS-SHA384.t

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