API Reference
BimiAnalysis
Analyse BIMI records according to draft specifications.
Inheritance
- Object
- BimiAnalysis
Remarks
BIMI (Brand Indicators for Message Identification) uses DNS TXT records that reference an SVG logo file and an optional certificate. This class validates presence and accessibility of those resources.
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
- Property DomainHealthCheck.BimiAnalysis
- Property BimiRecordInfo.Raw
Accepted by parameters
- Method BimiNarrative.Build
- Method Converters.Convert
Constructors
public BimiAnalysis() #Methods
public async Task AnalyzeBimiRecords(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger, CancellationToken cancellationToken = null) #TaskProcesses BIMI DNS records and populates analysis properties.
Parameters
- dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer}
- TXT records returned from a BIMI DNS query.
- logger DomainDetective.InternalLogger
- Logger instance for diagnostic output.
- cancellationToken System.Threading.CancellationToken = null
- Token used to cancel the operation.
ParseBimiHeader(System.String record, DomainDetective.InternalLogger logger) #Parses a BIMI record header and populates basic fields.
Parameters
- record System.String
- The raw BIMI record text.
- logger DomainDetective.InternalLogger
- Logger for warnings.
ResetState() #Resets analysis state to initial values.
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String Subject { get; set; } #Gets or sets the subject value.
public String BimiRecord { get; set; } #Gets the concatenated BIMI record text.
public Boolean BimiRecordExists { get; set; } #Gets a value indicating whether a BIMI record was found.
public Boolean StartsCorrectly { get; set; } #Gets a value indicating whether the record starts with v=BIMI1.
public String Location { get; set; } #Gets the indicator location value if present.
public String Authority { get; set; } #Gets the authority indicator URL if present.
public Boolean LocationUsesHttps { get; set; } #Gets a value indicating whether Location uses HTTPS.
public Boolean AuthorityUsesHttps { get; set; } #Gets a value indicating whether Authority uses HTTPS.
public Boolean DeclinedToPublish { get; set; } #Gets a value indicating whether the domain opted out of publishing an indicator.
public Boolean InvalidLocation { get; set; } #Gets a value indicating whether Location uses an unsupported scheme or file type.
public Boolean SvgFetched { get; set; } #Gets a value indicating whether the indicator SVG file was downloaded.
public Boolean SvgValid { get; set; } #Gets a value indicating whether the downloaded SVG is valid.
public String SvgInvalidReason { get; set; } #Provides a reason when SvgValid is false.
public Boolean SvgSizeValid { get; set; } #Gets a value indicating whether the SVG size is within limits.
public Boolean DimensionsValid { get; set; } #Gets a value indicating whether the SVG width and height are correct.
public Boolean ViewBoxValid { get; set; } #Gets a value indicating whether the SVG viewBox is valid.
public Boolean SvgAttributesPresent { get; set; } #Gets a value indicating whether required SVG attributes are present.
public Boolean ValidVmc { get; set; } #Gets a value indicating whether the downloaded VMC is valid.
public Boolean VmcSignedByKnownRoot { get; set; } #Gets a value indicating whether the VMC certificate is signed by a trusted CA.
public Boolean VmcContainsLogo { get; set; } #Gets a value indicating whether the VMC contains a logotype.
public X509Certificate2 VmcCertificate { get; set; } #Gets the downloaded VMC certificate instance.
public String FailureReason { get; set; } #If an HTTP request fails, explains why.
public IReadOnlyList<StandardReference> RfcReferences { get; } #Relevant standards for BIMI analysis.
HttpHandlerFactory #Factory for creating custom HTTP handlers.
public Boolean SkipIndicatorDownload { get; set; } #Skip downloading the BIMI indicator image.
public ICollection<X509Certificate2> TrustedRoots { get; } #Root certificates considered trusted when validating VMCs.
public virtual List<Assessment> Assessments { get; } #Structured assessments captured during BIMI analysis.
public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #Actionable recommendations derived from assessments.
Fields
_client #Shared HTTP client that enforces default TLS certificate validation.