Documentation
¶
Overview ¶
Package arc verifies Authenticated Received Chain (ARC) headers per RFC 8617.
ARC lets a message's authentication assessment survive intermediaries (mailing lists, forwarders) that legitimately break DKIM/SPF. Each hop adds an ARC set — ARC-Authentication-Results, ARC-Message-Signature, ARC-Seal — and this package cryptographically validates the resulting chain.
An ARC-Message-Signature is structurally a DKIM-Signature and an ARC-Seal is a DKIM-style signature over the ARC header chain, so this package reuses the canonicalization and signature primitives exported by github.com/rest-mail/go-dkim, guaranteeing ARC verification is byte-for-byte consistent with DKIM verification over the same message.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Verify ¶
Verify cryptographically verifies the ARC chain (RFC 8617 §5.2) in a raw message: the most recent ARC-Message-Signature must verify over the message (a DKIM-style signature), and every ARC-Seal must verify over the ARC header chain up to its instance. It returns a chain-validation status — "pass", "fail", or "none" — plus a human-readable reason. A nil resolver uses the system DNS resolver.
Header/body canonicalization is shared with dkim.Verify (via the primitives exported by github.com/rest-mail/go-dkim), so ARC verification is consistent with DKIM verification and with any RFC 8617 verifier operating on the same bytes.
Types ¶
This section is empty.