Domain Detective

API Reference

Class

DkimAnalysis

Namespace DomainDetective
Assembly DomainDetective
Implements

Performs DKIM record and key validation checks.

Inheritance

  • Object
  • DkimAnalysis

Remarks

DKIM selectors are queried for public keys and the syntax and key size are validated. Additional ADSP records are also parsed when present.

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by

Accepted by parameters

Constructors

Methods

public async Task AnalyzeAdspRecord(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #
Returns: Task

Processes ADSP TXT records.

Parameters

dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 0
TXT answers from the DNS query.
logger DomainDetective.InternalLogger requiredposition: 1
Logger used for warnings.
public async Task AnalyzeDkimRecords(String selector, IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #
Returns: Task

Analyses DKIM TXT records for the specified selector.

Parameters

selector System.String requiredposition: 0
DKIM selector being processed.
dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 1
TXT records from the DNS query.
logger DomainDetective.InternalLogger requiredposition: 2
Logger used for verbose output.
public async Task<String> QueryWellKnownSelectors(String domainName, DnsConfiguration dnsConfiguration, InternalLogger logger, CancellationToken cancellationToken = null) #
Returns: Task<String>

Queries well known selector names and analyses any discovered records.

Parameters

domainName System.String requiredposition: 0
Domain to query.
dnsConfiguration DomainDetective.DnsConfiguration requiredposition: 1
DNS configuration to use.
logger DomainDetective.InternalLogger requiredposition: 2
Logger for verbose messages.
cancellationToken System.Threading.CancellationToken = null optionalposition: 3
Token used to cancel the operation.

Returns

The selector that returned a record, or null.

public Void Reset() #
Returns: Void

Clears AnalysisResults.

Properties

public DnsConfiguration DnsConfiguration { get; set; } #

DNS configuration used for auxiliary lookups (e.g., CNAME for provider mapping).

public String Subject { get; set; } #

Gets or sets the subject value.

public Dictionary<String, DkimRecordAnalysis> AnalysisResults { get; set; } #

Gets the analysis results keyed by selector.

public TimeSpan KeyAgeWarningThreshold { get; set; } #

Threshold for raising key age warnings.

public String AdspRecord { get; set; } #

Gets the ADSP record text when present.

public Boolean AdspRecordExists { get; set; } #

Gets a value indicating whether an ADSP record exists.

public String Advisory { get; set; } #

Summary message describing DKIM validation outcome.

public IReadOnlyList<StandardReference> RfcReferences { get; } #

Relevant standards for DKIM analysis.

public virtual List<Assessment> Assessments { get; } #

Structured assessments captured during DKIM analysis.

public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #

Actionable recommendations derived from assessments.

Fields

public const Int32 MinimumRsaKeyBits #

Minimum allowed RSA key size in bits.

Value: 1024
{{ include "footer" }}