// ----------------------------------------------------------------------------- // ICertificateStatusProvider.cs // Sprint: SPRINT_20260119_008 Certificate Status Provider // Task: CSP-001 - Core Abstractions // Description: Main interface for certificate revocation checking. // ----------------------------------------------------------------------------- using System.Security.Cryptography.X509Certificates; namespace StellaOps.Cryptography.CertificateStatus.Abstractions; /// /// Provides certificate revocation status checking via OCSP, CRL, or stapled responses. /// public interface ICertificateStatusProvider { /// /// Checks the revocation status of a certificate. /// /// The status check request. /// Cancellation token. /// The certificate status result. Task CheckStatusAsync( CertificateStatusRequest request, CancellationToken cancellationToken = default); /// /// Checks the revocation status of a certificate chain. /// /// The certificate chain to check. /// Status check options. /// Cancellation token. /// Status results for each certificate in the chain. Task CheckChainStatusAsync( X509Chain chain, CertificateStatusOptions? options = null, CancellationToken cancellationToken = default); /// /// Fetches revocation data for stapling (OCSP response and/or CRL). /// /// The certificate to get revocation data for. /// The issuer certificate. /// Cancellation token. /// Stapled revocation data for bundling. Task FetchRevocationDataAsync( X509Certificate2 certificate, X509Certificate2 issuer, CancellationToken cancellationToken = default); }