Table of Contents

Constructor AuthenticationResultsHeader

Namespace
MailFathom.Domain.Emails.Authentication
Assembly
MailFathom.Domain.dll

AuthenticationResultsHeader(string, IReadOnlyList<ReportedAuthenticationMethod>)

One Authentication-Results header of a message, read but not yet believed.

public AuthenticationResultsHeader(string AuthorityIdentifier, IReadOnlyList<ReportedAuthenticationMethod> Methods)

Parameters

AuthorityIdentifier string

The authserv-id the producing server wrote, which is what a trusted reading matches on.

Methods IReadOnlyList<ReportedAuthenticationMethod>

The outcomes the header stated, in the order it wrote them.

Remarks

The header is grouped rather than flattened because the grouping is the security property. RFC 8601 has every producing server write its own identifier into the header it adds, and a consumer reads only the headers bearing the identifier it trusts — so a set of outcomes with the identifier stripped off is a set nothing can be trusted from, however true each outcome is.

Both bounds below exist because a message decides how many headers it carries and how much each of them says. What falls past a bound is the tail of a repetition an attacker could have written, and the topmost headers — the ones a receiving server adds and the only ones a trusted reading ever uses — are the ones kept.