Domain Detective

API Reference

Class

CtLogIngestionClient

Namespace DomainDetective
Assembly DomainDetective
Modifiers sealed

Reads native Certificate Transparency log entries and returns normalized certificate records.

Inheritance

  • Object
  • CtLogIngestionClient

Constructors

CtLogIngestionClient 2 overloads
public CtLogIngestionClient() #

Initializes a CT log ingestion client that uses the shared DomainDetective HTTP client.

public CtLogIngestionClient(HttpClient httpClient) #

Initializes a CT log ingestion client that uses a host-managed HTTP client.

Parameters

httpClient System.Net.Http.HttpClient requiredposition: 0

Methods

public async Task<IReadOnlyList<RawCtEntryPayload>> GetEntriesAsync(String logUrl, Int64 start, Int64 end, TimeSpan timeout, CancellationToken cancellationToken) #
Returns: Task<IReadOnlyList<RawCtEntryPayload>>

Reads raw entry payloads from one CT log range.

Parameters

logUrl System.String requiredposition: 0
start System.Int64 requiredposition: 1
end System.Int64 requiredposition: 2
timeout System.TimeSpan requiredposition: 3
cancellationToken System.Threading.CancellationToken requiredposition: 4
public async Task<IReadOnlyList<CtLogDescriptor>> GetLogsAsync(String logListUrl = "https://www.gstatic.com/ct/log_list/v3/log_list.json", Boolean includeRetired = true, Boolean includePending = false, Boolean includeUnknownState = true, CancellationToken cancellationToken = null) #
Returns: Task<IReadOnlyList<CtLogDescriptor>>

Resolves CT logs from a v3/v2 Google-compatible log list.

Parameters

logListUrl System.String = "https://www.gstatic.com/ct/log_list/v3/log_list.json" optionalposition: 0
includeRetired System.Boolean = true optionalposition: 1
includePending System.Boolean = false optionalposition: 2
includeUnknownState System.Boolean = true optionalposition: 3
cancellationToken System.Threading.CancellationToken = null optionalposition: 4
GetSignedTreeHeadAsync 2 overloads
public Task<CtSignedTreeHead> GetSignedTreeHeadAsync(CtLogDescriptor log, TimeSpan timeout, CancellationToken cancellationToken = null) #
Returns: Task<CtSignedTreeHead>

Reads the current signed tree head for a CT log.

Parameters

logUrl System.String requiredposition: 0
timeout System.TimeSpan requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
GetSignedTreeHeadAsync(DomainDetective.CtLogDescriptor log, System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken) #

Reads the current signed tree head for a described CT log.

Parameters

log DomainDetective.CtLogDescriptor required
timeout System.TimeSpan required
cancellationToken System.Threading.CancellationToken required
GetTreeSizeAsync 2 overloads
public async Task<Int64> GetTreeSizeAsync(CtLogDescriptor log, TimeSpan timeout, CancellationToken cancellationToken = null) #
Returns: Task<Int64>

Reads the current signed tree head size for a CT log.

Parameters

logUrl System.String requiredposition: 0
timeout System.TimeSpan requiredposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
GetTreeSizeAsync(DomainDetective.CtLogDescriptor log, System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken) #

Reads the current signed tree head size for a described CT log.

Parameters

log DomainDetective.CtLogDescriptor required
timeout System.TimeSpan required
cancellationToken System.Threading.CancellationToken required
HasStaticCheckpointSignatureForOrigin(System.String[] arg1, System.String arg2) #

Parameters

arg1 System.String[] required
arg2 System.String required
public async Task<CtLogIngestionBatch> ReadBatchAsync(CtLogIngestionBatchRequest request, CancellationToken cancellationToken = null) #
Returns: Task<CtLogIngestionBatch>

Reads and decodes one CT log entry batch.

Parameters

request DomainDetective.CtLogIngestionBatchRequest requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1

Properties

public Func<String, CancellationToken, Task<String>> HttpGetOverride { get; set; } #

Optional HTTP override used by tests and host applications.

SendOverride #

HTTP send override used by unit tests to inject controlled responses.

public TimeSpan SignedTreeHeadCacheDuration { get; set; } #

Duration for which a successful signed tree head can be reused for the same log URL.

Fields

public const Int32 MaxBatchSize #

Maximum number of entries requested from one RFC6962 get-entries call.

Value: 8192
{{ include "footer" }}