Domain Detective

API Reference

Class

CAAAnalysis

Namespace DomainDetective
Assembly DomainDetective
Implements

Performs analysis of CAA DNS records for a domain.

Inheritance

  • Object
  • CAAAnalysis

Remarks

The analysis inspects CAA tags to determine which certificate authorities are permitted to issue certificates for the domain.

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 Task AnalyzeCAARecords(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #
Returns: Task

Parses the supplied CAA records and populates analysis properties.

Parameters

dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 0
DNS query results containing CAA records.
logger DomainDetective.InternalLogger requiredposition: 1
Logger used for warnings and errors.
public Void CheckForConflicts() #
Returns: Void

Sets conflict flags based on AnalysisResults content.

public Void GenerateLists(InternalLogger logger) #
Returns: Void

Builds summary lists of issuers and contact addresses from AnalysisResults.

Parameters

logger DomainDetective.InternalLogger requiredposition: 0
Logger used for duplicate warnings.

Properties

public String Subject { get; set; } #

Gets or sets the subject value.

public String DomainName { get; set; } #

Gets or sets the domain name that provided the record.

public String Description { get; set; } #

Gets a short explanation of CAA record purpose.

public Int32 ValidRecords { get; set; } #

Gets the number of syntactically valid records.

public Int32 InvalidRecords { get; set; } #

Gets the number of syntactically invalid records.

public List<String> CanIssueCertificatesForDomain { get; set; } #

Gets issuers allowed to issue certificates for the domain.

public List<String> CanIssueWildcardCertificatesForDomain { get; set; } #

Gets issuers allowed to issue wildcard certificates.

public List<String> CanIssueMail { get; set; } #

Gets issuers authorised to issue S/MIME certificates.

public List<String> ReportViolationEmail { get; set; } #

Gets email addresses for CAA violation reports.

public Boolean Conflicting { get; set; } #

Gets or sets a value indicating whether conflicting directives were detected.

public Boolean HasDuplicateIssuers { get; set; } #

Gets a value indicating whether duplicate issuers were found.

public Boolean ConflictingMailIssuance { get; set; } #

Gets or sets a value indicating conflicting mail issuance rules.

public Boolean ConflictingCertificateIssuance { get; set; } #

Gets or sets a value indicating conflicting certificate issuance rules.

public Boolean ConflictingWildcardCertificateIssuance { get; set; } #

Gets or sets a value indicating conflicting wildcard certificate issuance rules.

public Boolean Valid { get; } #

Gets a value indicating whether the overall CAA configuration appears valid.

public List<CAARecordAnalysis> AnalysisResults { get; set; } #

Gets the per-record analysis results.

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

Gets the assessments value.

public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #

Represents the recommendations value.

{{ include "footer" }}