.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Mail::DKIM::DkSignature 3pm" .TH Mail::DKIM::DkSignature 3pm "2013-02-07" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mail::DKIM::DkSignature \- represents a DomainKeys\-Signature header .SH "CONSTRUCTORS" .IX Header "CONSTRUCTORS" .SS "\fInew()\fP" .IX Subsection "new()" Create a new DomainKey signature from parameters .PP .Vb 10 \& my $signature = Mail::DKIM::DkSignature\->new( \& [ Algorithm => "rsa\-sha1", ] \& [ Signature => $base64, ] \& [ Method => "simple", ] \& [ Domain => "example.org", ] \& [ Headers => "from:subject:date:message\-id", ] \& [ Query => "dns", ] \& [ Selector => "alpha", ] \& [ Key => $private_key, ] \& ); .Ve .SS "\fIparse()\fP" .IX Subsection "parse()" Create a new signature from a DomainKey-Signature header .PP .Vb 3 \& my $sig = Mail::DKIM::DkSignature\->parse( \& "DomainKey\-Signature: a=rsa\-sha1; b=yluiJ7+0=; c=nofws" \& ); .Ve .PP Constructs a signature by parsing the provided DomainKey-Signature header content. You do not have to include the header name (i.e. \*(L"DomainKey-Signature:\*(R") but it is recommended, so the header name can be preserved and returned the same way in \*(L"\fIas_string()\fR\*(R". .PP Note: The input to this constructor is in the same format as the output of the as_string method. .SH "METHODS" .IX Header "METHODS" .SS "\fIas_string()\fP" .IX Subsection "as_string()" Convert the signature header as a string. .PP .Vb 1 \& print $signature\->as_string . "\en"; .Ve .PP outputs .PP .Vb 1 \& DomainKey\-Signature: a=rsa\-sha1; b=yluiJ7+0=; c=nofws .Ve .PP As shown in the example, the as_string method can be used to generate the DomainKey-Signature that gets prepended to a signed message. .SS "\fIalgorithm()\fP" .IX Subsection "algorithm()" Get or set the algorithm (a=) field .PP The algorithm used to generate the signature. Defaults to \*(L"rsa\-sha1\*(R", an RSA-signed \s-1SHA\-1\s0 digest. .SS "\fIcanonicalization()\fP" .IX Subsection "canonicalization()" Get or set the canonicalization (c=) field. .PP .Vb 2 \& $signature\->canonicalization("nofws"); \& $signature\->canonicalization("simple"); \& \& $method = $signature\->canonicalization; .Ve .PP Message canonicalization (default is \*(L"simple\*(R"). This informs the verifier of the type of canonicalization used to prepare the message for signing. .SS "\fIdomain()\fP" .IX Subsection "domain()" Get or set the domain (d=) field. .PP .Vb 2 \& my $d = $signature\->domain; # gets the domain value \& $signature\->domain("example.org"); # sets the domain value .Ve .PP The domain of the signing entity, as specified in the signature. This is the domain that will be queried for the public key. .SS "\fIheaderlist()\fP" .IX Subsection "headerlist()" Get or set the signed header fields (h=) field. .PP .Vb 1 \& $signature\->headerlist("a:b:c"); \& \& my $headerlist = $signature\->headerlist; \& \& my @headers = $signature\->headerlist; .Ve .PP Signed header fields. A colon-separated list of header field names that identify the header fields presented to the signing algorithm. .PP 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. .SS "\fIidentity()\fP" .IX Subsection "identity()" Get the signing identity. .PP .Vb 1 \& my $i = $signature\->identity; .Ve .PP 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. .SS "\fIidentity_source()\fP" .IX Subsection "identity_source()" Determine which header had the identity. .PP .Vb 1 \& my $source = $signature\->identity_source; .Ve .PP 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 \*(L"header.sender\*(R" and \*(L"header.from\*(R". .SS "\fIprotocol()\fP" .IX Subsection "protocol()" Get or set the query methods (q=) field. .PP A colon-separated list of query methods used to retrieve the public key (default is \*(L"dns\*(R"). .SS "\fIselector()\fP" .IX Subsection "selector()" Get or set the selector (s=) field. .PP The selector subdivides the namespace for the \*(L"d=\*(R" (domain) tag. .SS "\fIsignature()\fP" .IX Subsection "signature()" Get or set the signature data (b=) field. .PP The signature data. Whitespace is automatically stripped from the returned value. .SH "SEE ALSO" .IX Header "SEE ALSO" Mail::DKIM::Signature for DKIM-Signature headers .SH "AUTHOR" .IX Header "AUTHOR" Jason Long, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2006\-2007,2010 by Messiah College .PP 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.