SYNOPSIS

  my $algorithm = new Mail::DKIM::Algorithm::rsa_sha1(
                      Signature => $dkim_signature
                  );

  # add headers
  $algorithm->add_header("Subject: this is the subject\015\012");
  $algorithm->finish_header;

  # add body
  $algorithm->add_body("This is the body.\015\012");
  $algorithm->add_body("Another line of the body.\015\012");
  $algorithm->finish_body;

  # now sign or verify...
  # TODO...

CONSTRUCTOR

You should not create an object of this class directly. Instead, use one of the \s-1DKIM\s0 algorithm implementation classes, such as rsa_sha1:

my $algorithm = new Mail::DKIM::Algorithm::rsa_sha1( Signature => $dkim_signature );

METHODS

\fIadd_body()\fP - feeds part of the body into the algorithm/canonicalization

$algorithm->add_body("This is the body.\015\012"); $algorithm->add_body("Another line of the body.\015\012");

The body should be fed one \*(L"line\*(R" at a time.

\fIadd_header()\fP - feeds a header field into the algorithm/canonicalization

$algorithm->add_header("Subject: this is the subject\015\012");

The header must start with the header field name and continue through any folded lines (including the embedded <\s-1CRLF\s0> sequences). It terminates with the <\s-1CRLF\s0> at the end of the header field.

\fIfinish_body()\fP - signals the end of the message body

$algorithm->finish_body

Call this method when all lines from the body have been submitted. After calling this method, use sign() or verify() to get the results from the algorithm.

\fIfinish_header()\fP - signals the end of the header field block

$algorithm->finish_header;

Call this method when all the headers have been submitted.

\fIsign()\fP - generates a signature using a private key

$base64 = $algorithm->sign($private_key);

\fIsignature()\fP - get/set the signature worked on by this algorithm

my $old_signature = $algorithm->signature; $algorithm->signature($new_signature);

\fIverify()\fP - verifies a signature

$result = $algorithm->verify();

Must be called after finish_body().

The result is a true/false value: true indicates the signature data is valid, false indicates it is invalid.

For an invalid signature, details may be obtained from $algorithm->{verification_details} or $@.

RELATED TO Mail::DKIM::Algorithm::Base…

Mail::DKIM

AUTHOR

Jason Long, <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2005-2007 by Messiah College

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.