Mail::DKIM::Algorithm::Base − base class for DKIM "algorithms"
version 1.20230911
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...
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
);
$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.
$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.
$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.
$algorithm−>finish_header;
Call this method when all the headers have been submitted.
$base64 = $algorithm−>sign($private_key);
my
$old_signature = $algorithm−>signature;
$algorithm−>signature($new_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 $@.
Mail::DKIM
• |
Jason Long <[email protected]> |
|||
• |
Marc Bradshaw <[email protected]> |
|||
• |
Bron Gondwana <[email protected]> (ARC) |
Work on ensuring that this module passes the ARC test suite was generously sponsored by Valimail (https://www.valimail.com/)
• |
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.