#![warn(missing_docs)]
mod cache;
mod dane;
mod dns;
mod error;
mod tlog;
mod verify;
#[cfg(feature = "rustls")]
mod rustls_verifier;
#[cfg(feature = "scitt")]
mod scitt;
pub use ans_types::{
AgentEvent, AgentInfo, AnsName, Attestations, Badge, BadgePayload, BadgeStatus,
CertAttestation, CertFingerprint, CryptoError, EventType, Fqdn, MerkleProof, ParseError,
Producer, Version,
};
pub use cache::{BadgeCache, CacheConfig, CacheKey, CachedBadge};
pub use dane::{
DanePolicy, DaneVerificationResult, TlsaMatchingType, TlsaRecord, TlsaSelector, TlsaUsage,
};
#[cfg(any(test, feature = "test-support"))]
pub use dns::MockDnsResolver;
pub use dns::{BadgeRecord, DnsResolver, DnsResolverConfig, HickoryDnsResolver};
pub use error::{
AnsError, AnsResult, DaneError, DnsError, HttpError, TlogError, VerificationError,
};
#[cfg(any(test, feature = "test-support"))]
pub use tlog::MockTransparencyLogClient;
pub use tlog::{AuditResponse, HttpTransparencyLogClient, TransparencyLogClient};
pub use verify::{
AnsVerifier, AnsVerifierBuilder, CertIdentity, ClientVerifier, FailurePolicy, ServerVerifier,
VerificationOutcome,
};
#[cfg(feature = "scitt")]
pub use verify::{ScittConfig, ScittTierPolicy};
#[cfg(feature = "rustls")]
pub use rustls_verifier::{AnsClientCertVerifier, AnsServerCertVerifier};
#[cfg(feature = "scitt")]
pub use scitt::{
ClockFn, HttpScittClient, KeyRefreshHandle, ReceiptCache, RefreshableKeyStore, ScittClient,
ScittError, ScittHeaderSupplier, ScittHeaders, ScittKeyStore, ScittOutgoingHeaders,
ScittRefreshHandle, ScittVerificationCache, StatusTokenCache, TrustedKey, VerifiedReceipt,
VerifiedStatusToken, system_clock, verify_receipt, verify_status_token,
};
#[cfg(all(feature = "scitt", any(test, feature = "test-support")))]
pub use scitt::{
MockScittClient, ParsedCoseSign1, compute_sig_structure_digest, matches_identity_cert,
matches_server_cert, parse_cose_sign1, verify_status_token_at,
};