NAME

Net::DNS::SEC - DNSSEC extensions to Net::DNS

SYNOPSIS

use Net::DNS;

Net::DNS::SEC contains some code inherited by DNSSEC related RR classes.

DESCRIPTION

The Net::DSN::SEC suit provides the resource records that are needed for Secure DNS (RFC2535). DNSSEC is a protocol that is still under development.

We have currently implemented the RFC2535 specifications with addition of the 'delegation-signer' draft, the "typecode roll draft" and SIG0 support. That later is useful for dynamic updates with public keys.

RSA and DSA crypto routines are supported.

For details see Net::DNS::RR::SIG, Net::DNS::RR::KEY, Net::DNS::RR::NXT Net::DNS::RR::RRSIG, Net::DNS::RR::DNSKEY, Net::DNS::RR::NSEC and Net::DNS::RR:DS.

Net::DNS will load the modules for the secure RRs when they are available through the Net::DNS::SEC package.

See Net::DNS for general help.

The Net::DNS::SEC module implements a few class methods used by the other modules in this suite and a few functions that can be exported.

Utility functions

Use the following construct if you want to use these functions in your code.

use Net::DNS::SEC qw( key_difference );

key_difference

$result=key_differnece(\@a,\@b,\@result);

Fills @result with all keys in the array "@a" that are not in the array "@b".

Returns 0 on success or an error message on failure.

Class methods

These functions are inherited by relevant Net::DNS::RR classes. They are not exported.

algorithm

$value=Net::DNS::SEC->algorithm("RSA/SHA1");
$value=$self->algorithm("RSA/SHA1");
$value=$self->algorithm(5);

$algorithm=$self->algorithm();
$memonic=$self->algorithm("mnemonic");

The algorithm method is used to set or read the value of the algorithm field in Net::DNS::RR::DNSKEY and Net::DNS::RR::RRSIG.

If supplied with an argument it will set the algorithm accordingly, except when the argument equals the string "mnemonic" the method will return the mnemonic of the algorithm.

Can also be called as a class method to do Mnemonic to Value conversion.

SEE ALSO

perl(1), Net::DNS, Net::DNS::RR::KEY, Net::DNS::RR::SIG, Net::DNS::RR::NXT, Net::DNS::RR::DNSKEY, Net::DNS::RR::RRSIG, Net::DNS::RR::NSEC, Net::DNS::RR::DS, Net::DNS::SEC::Private.