API Reference
CertificateTransparencyTimelineAnalysis
Builds a certificate transparency (CT) timeline for a domain and summarizes issuer diversity, certificate validity status, and basic anomalies.
Inheritance
- Object
- CertificateTransparencyTimelineAnalysis
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.CtTimelineAnalysis
- Property CtTimelineInfo.Raw
Accepted by parameters
- Method Converters.Convert
Constructors
public CertificateTransparencyTimelineAnalysis() #Methods
public async Task AnalyzeAsync(String domain, InternalLogger logger = null, CancellationToken cancellationToken = null) #TaskPerforms CT-backed timeline analysis for the specified domain.
Parameters
- domain System.String
- logger DomainDetective.InternalLogger = null
- cancellationToken System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String Subject { get; set; } #The domain being analyzed.
public String CrtShWildcardUrlTemplate { get; set; } #CT query template for wildcard query (includes subdomains).
public String CrtShExactUrlTemplate { get; set; } #CT query template for exact-name query (covers apex-only certificates).
public String CertSpotterUrlTemplate { get; set; } #Fallback CT query template used when crt.sh queries fail.
public Boolean UseCertSpotterFallback { get; set; } #When true (default), queries Cert Spotter if all crt.sh queries fail.
public Func<String, CancellationToken, Task<String>> QueryOverride { get; set; } #Optional override returning the JSON payload for a given CT URL. Used by tests and offline callers.
public Boolean QuerySucceeded { get; set; } #True when CT query succeeded and parsing completed.
public String FailureReason { get; set; } #If QuerySucceeded is false, this may contain a short reason.
public Int32 CertificateObservationCount { get; set; } #Total number of CT rows processed (may include duplicates).
public Int32 UniqueCertificateCount { get; set; } #Total number of unique certificates observed (deduped).
public Nullable<DateTimeOffset> FirstSeenUtc { get; set; } #Earliest CT entry timestamp observed.
public Nullable<DateTimeOffset> LastSeenUtc { get; set; } #Latest CT entry timestamp observed.
public Int32 DistinctIssuerCount { get; } #Distinct issuer count observed across unique certificates.
public IReadOnlyDictionary<String, Int32> IssuerCounts { get; set; } #Issuer name → count (unique certificates, best-effort).
public Int32 ActiveCertificateCount { get; set; } #Number of currently active certificates (based on validity window).
public Int32 ExpiredCertificateCount { get; set; } #Number of expired certificates (based on validity window).
public Int32 NotYetValidCertificateCount { get; set; } #Number of certificates not yet valid (based on validity window).
public Int32 WildcardCertificateCount { get; set; } #Number of wildcard certificates observed (common name or SAN contains '*').
public Int32 IssuedLast7Days { get; set; } #Unique certificates issued in the last 7 days (based on CT entry timestamp).
public Int32 IssuedLast30Days { get; set; } #Unique certificates issued in the last 30 days (based on CT entry timestamp).
public Boolean ResultsCapped { get; set; } #True when processing was capped to protect performance.
public Int32 MaxCtRowsToProcess { get; set; } #Maximum number of CT rows to process across all queries.
public Int32 MaxUniqueCertificates { get; set; } #Maximum number of unique certificates to retain in memory.
public Int32 MaxTimelineBuckets { get; set; } #Maximum number of timeline buckets to keep.
public Int32 MaxRecentCertificates { get; set; } #Maximum number of recent certificate samples to keep.
public IReadOnlyList<CtTimelineBucket> Timeline { get; set; } #CT timeline buckets (monthly) based on entry timestamps.
public IReadOnlyList<CtCertificateSample> RecentCertificates { get; set; } #Most recent unique certificates (sample) sorted by entry timestamp descending.
public virtual List<Assessment> Assessments { get; } #Assessment collection for report-friendly output.