dwww Home | Manual pages | Find package

Mail::DKIM::Algorithm:UsereContributed Perl DoMail::DKIM::Algorithm::Base(3pm)

NAME
       Mail::DKIM::Algorithm::Base - base class for DKIM "algorithms"

VERSION
       version 1.20200907

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 DKIM algorithm implementation classes, such as rsa_sha1:

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

METHODS
   add_body() - 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 "line" at a time.

   add_header() - 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 <CRLF> sequences). It
       terminates with the <CRLF> at the end of the header field.

   finish_body() - 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.

   finish_header() - signals the end of the header field block
         $algorithm->finish_header;

       Call this method when all the headers have been submitted.

   sign() - generates a signature using a private key
         $base64 = $algorithm->sign($private_key);

   signature() - get/set the signature worked on by this algorithm
         my $old_signature = $algorithm->signature;
         $algorithm->signature($new_signature);

   verify() - 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 $@.

SEE ALSO
       Mail::DKIM

AUTHORS
       •   Jason Long <jason@long.name>

       •   Marc Bradshaw <marc@marcbradshaw.net>

       •   Bron Gondwana <brong@fastmailteam.com> (ARC)

THANKS
       Work on ensuring that this module passes the ARC test suite was
       generously sponsored by Valimail (https://www.valimail.com/)

COPYRIGHT AND LICENSE
       •   Copyright (C) 2013 by Messiah College

       •   Copyright (C) 2010 by Jason Long

       •   Copyright (C) 2017 by Standcore LLC

       •   Copyright (C) 2020 by FastMail Pty Ltd

       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.

perl v5.30.3                      2020-09-11  Mail::DKIM::Algorithm::Base(3pm)

Generated by dwww version 1.14 on Fri Jan 24 06:25:51 CET 2025.