NAME

Mail::DomainKeys - A perl implementation of DomainKeys

SYNOPSIS

Mail::DomainKeys is a perl implementation of Yahoo's mail signature protocol.

This library allows one to sign and verify signatures as per draft 03 of the DomainKeys specification:

http://www.ietf.org/internet-drafts/draft-delany-domainkeys-base-03.txt

A Simple Example

This example shows the simplest possible DomainKeys signature verifier.

require Mail::DomainKeys::Message;

# load a message from a filehandle glob
my $mail = load Mail::DomainKeys::Message(File => \*STDIN) or
  die "unable to load message\n";

# check to make sure the sender has a fully qualified domain    
$mail->senderdomain or
  die "unable to verify message: no sender domain\n";  

# check if the mail is signed by DomainKeys
$mail->signed or
  die "no signature\n";

# check the signature  
if ($mail->verify) {
  print STDERR "signature valid\n";
  exit 0;
}

# the signature was not valid
die "unable to verify signature\n";

This example shows the simplest possible DomainKeys signer.

require Mail::DomainKeys::Message;
require Mail::DomainKeys::Key::Private;

# load the message, or die trying
my $mail = load Mail::DomainKeys::Message(File => \*STDIN) or
  die "unable to load message";

# load the private key, or die trying
my $priv = load Mail::DomainKeys::Key::Private(File => "private.key") or
  die "unable to load key";

# sign the message using the "simple" canonifier and selector "test"	
$mail->sign(Method => "simple", Selector => "test", Private => $priv);

# print out the signature
print $mail->signature->as_string;

SEE ALSO

Mail::DomainKeys::Message
Mail::DomainKeys::Policy

COPYRIGHT

Copyright (c) 2005, Anthony D. Urso. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AVAILABILITY

The latest version of Mail::DomainKeys will be available on CPAN and at:

http://killa.net/infosec/Mail-DomainKeys/

1 POD Error

The following errors were encountered while parsing the POD:

Around line 77:

'=item' outside of any '=over'