Manpage logo

Mail::DKIM::ARC::Seal - represents a ARC-Seal header

NAME  VERSION  CONSTRUCTORS  new() − create a new signature from parameters  chain() − get or set the chain parameter (cv=) field  instance() − get or set the signing instance (i=) field  SEE ALSO  AUTHORS  THANKS  COPYRIGHT AND LICENSE 

NAME

Mail::DKIM::ARC::Seal − represents a ARC−Seal header

VERSION

version 1.20240923

CONSTRUCTORS

new() − create a new signature from parameters

my $signature = Mail::DKIM::ARC::Seal−>new(
[ Algorithm => 'rsa−sha256', ]
[ Signature => $base64, ]
[ Domain => 'example.org', ]
[ Instance => 1, ]
[ Chain => 'none', ] # none|fail|pass
[ Query => 'dns', ]
[ Selector => 'alpha', ]
[ Timestamp => time(), ]
[ Expiration => time() + 86400, ]
);

The ARC−Seal is similar to a DKIM signature but with the following changes:

https://tools.ietf.org/html/draft−ietf−dmarc−arc−protocol−06

5.1.1.1. Tags in the ARC−Seal Header Field Value

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:
* 'none' = no pre−existing chain;
* 'fail' = the chain as received does not or can not validate; or
* 'pass' = 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 '1', 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].

chain() − get or set the chain parameter (cv=) field

This must be one of "pass", "fail" or "none". For a chain to be valid, the very first (i=1) seal MUST be cv=none, and all further seals MUST be cv=pass.

instance() − get or set the signing instance (i=) field

my $i = $signature−>instance;

Instances must be integers less than 1024 according to the spec.

SEE ALSO

Mail::DKIM::Signature for DKIM−Signature headers

Mail::DKIM::ARC::MessageSignature for ARC−Message−Signature headers

AUTHORS

•

Jason Long <[email protected]>

•

Marc Bradshaw <[email protected]>

•

Bron Gondwana <[email protected]> (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.


Updated 2026-06-01 - jenkler.se | uex.se