Mail::DKIM::PrivateKey(3p)

NAME
Mail::DKIM::PrivateKey - a private key loaded in memory for DKIM signing

VERSION
version 1.20240923

SYNOPSIS
 my $key1 = Mail::DKIM::PrivateKey->load(
               File => '/path/to/private.key');

 my $key2 = Mail::DKIM::PrivateKey->load(
               Data => $base64);

 # use the loaded key in a DKIM signing object
 my $dkim = Mail::DKIM::Signer->new(
               Key => $key2,
             );

CONSTRUCTOR

  load() - loads a private key into memory
 my $key1 = Mail::DKIM::PrivateKey->load(
               File => '/path/to/private.key');

Loads the Base64-encoded key from the specified file.

  my $key2 = Mail::DKIM::PrivateKey->load(Data => $base64);

Loads the Base64-encoded key from a string already in memory.

  my $key3 = Mail::DKIM::PrivateKey->load(Cork => $openssl_object);

Creates a Mail::DKIM::PrivateKey wrapper object for the given OpenSSL key object. The key object should be of type Crypt::OpenSSL::RSA.

METHODS

  cork() - access the underlying OpenSSL key object
  $openssl_object = $key->cork;

The returned object is of type Crypt::OpenSSL::RSA.

  sign_digest()
Cryptographically sign the given message digest.

  $key->sign_digest('SHA-1', sha1('my message text'));

The first parameter is the name of the digest: one of "SHA-1", "SHA-256".

The second parameter is the message digest as a binary string.

The result should be the signed digest as a binary string.

1;

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.