.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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" '' . ds C` . ds C' '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 >0, 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. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::DKIM::ARC::Seal 3pm" .TH Mail::DKIM::ARC::Seal 3pm "2018-12-04" "perl v5.28.1" "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::ARC::Seal \- represents a ARC\-Seal header .SH "CONSTRUCTORS" .IX Header "CONSTRUCTORS" .SS "\fBnew()\fP \- create a new signature from parameters" .IX Subsection "new() - create a new signature from parameters" .Vb 11 \& my $signature = Mail::DKIM::ARC::Seal\->new( \& [ Algorithm => \*(Aqrsa\-sha256\*(Aq, ] \& [ Signature => $base64, ] \& [ Domain => \*(Aqexample.org\*(Aq, ] \& [ Instance => 1, ] \& [ Chain => \*(Aqnone\*(Aq, ] # none|fail|pass \& [ Query => \*(Aqdns\*(Aq, ] \& [ Selector => \*(Aqalpha\*(Aq, ] \& [ Timestamp => time(), ] \& [ Expiration => time() + 86400, ] \& ); .Ve .PP The ARC-Seal is similar to a \s-1DKIM\s0 signature but with the following changes: .PP https://tools.ietf.org/html/draft\-ietf\-dmarc\-arc\-protocol\-06 .PP 5.1.1.1. Tags in the ARC-Seal Header Field Value .PP .Vb 3 \& The following tags are the only supported tags for an ARC\-Seal field. \& All of them MUST be present. Unknown tags MUST be ignored and do not \& affect the validity of the header. \& \& o a = hash algorithm; syntax is the same as the "a=" tag defined in \& Section 3.5 of [RFC6376]; \& \& o b = digital signature; syntax is the same as the "b=" tag defined \& in Section 3.5 of [RFC6376]; \& \& o cv = chain validation status: valid values: \& \& * \*(Aqnone\*(Aq = no pre\-existing chain; \& \& * \*(Aqfail\*(Aq = the chain as received does not or can not validate; or \& \& * \*(Aqpass\*(Aq = valid chain received. \& \& o d = domain for key; syntax is the same as the "d=" tag defined in \& Section 3.5 of [RFC6376]; \& \& o i = "instance" or sequence number; monotonically increasing at \& each "sealing" entity, beginning with \*(Aq1\*(Aq, see Section 5.1.1.1.1 \& regarding the valid range \& \& o s = selector for key; syntax is the same as the "s=" tag defined \& in Section 3.5 of [RFC6376]; \& \& o t = timestamp; syntax is the same as the "t=" tag defined in \& Section 3.5 of [RFC6376]. .Ve .SS "\fBchain()\fP \- get or set the chain parameter (cv=) field" .IX Subsection "chain() - get or set the chain parameter (cv=) field" This must be one of \*(L"pass\*(R", \*(L"fail\*(R" or \*(L"none\*(R". For a chain to be valid, the very first (i=1) seal \s-1MUST\s0 be cv=none, and all further seals \s-1MUST\s0 be cv=pass. .SS "\fBinstance()\fP \- get or set the signing instance (i=) field" .IX Subsection "instance() - get or set the signing instance (i=) field" .Vb 1 \& my $i = $signature\->instance; .Ve .PP Instances must be integers less than 1024 according to the spec. .SH "SEE ALSO" .IX Header "SEE ALSO" Mail::DKIM::Signature for DKIM-Signature headers .PP Mail::DKIM::ARC::MessageSignature for ARC-Message-Signature headers .SH "AUTHOR" .IX Header "AUTHOR" Bron Gondwana, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2017 by FastMail Pty Ltd .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.