Mail::DKIM::DkSignature(3p)

NAME
Mail::DKIM::DkSignature - represents a DomainKeys-Signature header

CONSTRUCTORS

  parse() - create a new signature from a DomainKey-Signature header
  my $sig = parse Mail::DKIM::DkSignature(
                  "DomainKey-Signature: a=rsa-sha1; b=yluiJ7+0=; c=nofws"
            );

Constructs a signature by parsing the provided DomainKey-Signature header content. You do not have to include the header name (i.e. "DomainKey-Signature:") but it is recommended, so the header name can be preserved and returned the same way in as_string().

Note: The input to this constructor is in the same format as the output of the as_string method.

METHODS

  as_string() - the signature header as a string
  print $signature->as_string . "\n";

outputs

  DomainKey-Signature: a=rsa-sha1; b=yluiJ7+0=; c=nofws

As shown in the example, the as_string method can be used to generate the DomainKey-Signature that gets prepended to a signed message.

  algorithm() - get or set the algorithm (a=) field
The algorithm used to generate the signature. Defaults to "rsa-sha1", an RSA-signed SHA-1 digest.

  canonicalization() - get or set the canonicalization (c=) field
  $signature->canonicalization("nofws");
  $signature->canonicalization("simple");

  $method = $signature->canonicalization;

Message canonicalization (default is "simple"). This informs the verifier of the type of canonicalization used to prepare the message for signing.

  domain() - get or set the domain (d=) field
  my $d = $signature->domain;          # gets the domain value
  $signature->domain("example.org");   # sets the domain value

The domain of the signing entity, as specified in the signature. This is the domain that will be queried for the public key.

  headerlist() - get or set the signed header fields (h=) field
  $signature->headerlist("a:b:c");

  my $headerlist = $signature->headerlist;

  my @headers = $signature->headerlist;

Signed header fields. A colon-separated list of header field names that identify the header fields presented to the signing algorithm.

In scalar context, the list of header field names will be returned as a single string, with the names joined together with colons. In list context, the header field names will be returned as a list.

  identity() - get the signing identity
  my $i = $signature->identity;

In DomainKey signatures, the signing identity is the first address found in the Sender header or the From header. This field is populated by the Verifier when processing a DomainKey signature.

  identity_source() - determine which header had the identity
  my $source = $signature->identity_source;

If the message is being verified, this method will tell you which of the message headers was used to determine the signature identity. Possible values are "header.sender" and "header.from".

  protocol() - get or set the query methods (q=) field
A colon-separated list of query methods used to retrieve the public key (default is "dns").

  selector() - get or set the selector (s=) field
The selector subdivides the namespace for the "d=" (domain) tag.

  signature() - get or set the signature data (b=) field
The signature data. Whitespace is automatically stripped from the returned value.

SEE ALSO
Mail::DKIM::Signature for DKIM-Signature headers

AUTHOR
Jason Long, <jlong@messiah.edu>

COPYRIGHT AND LICENSE
Copyright (C) 2006-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.