---
name: "Mail::DKIM::PrivateKey"
section: "3pm"
platform: "linux"
package: "perl-mail-dkim"
version: "1.20240923-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::DKIM::PrivateKey"
---

# Mail::DKIM::PrivateKey(3pm)

a private key loaded in memory for DKIM signing

## 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.
