NAME
Mail::DKIM::DkSignature - 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.
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.