Skip to main content

AnsVerifierBuilder

Struct AnsVerifierBuilder 

Source
pub struct AnsVerifierBuilder { /* private fields */ }
Expand description

Builder for AnsVerifier.

Implementations§

Source§

impl AnsVerifierBuilder

Source

pub fn dns_resolver(self, resolver: Arc<dyn DnsResolver>) -> Self

Set a custom DNS resolver.

Source

pub fn dns_preset(self, preset: DnsResolverConfig) -> Self

Use a preset DNS resolver configuration (Cloudflare, Google, etc.).

§Example
use ans_verify::{AnsVerifier, DnsResolverConfig};

let verifier = AnsVerifier::builder()
    .dns_preset(DnsResolverConfig::CloudflareTls)
    .build()
    .await?;
Source

pub fn dns_cloudflare(self) -> Self

Use Cloudflare DNS (1.1.1.1).

Source

pub fn dns_cloudflare_tls(self) -> Self

Use Cloudflare DNS over TLS.

Source

pub fn dns_google(self) -> Self

Use Google Public DNS (8.8.8.8).

Source

pub fn dns_google_tls(self) -> Self

Use Google DNS over TLS.

Source

pub fn dns_quad9(self) -> Self

Use Quad9 DNS (9.9.9.9).

Source

pub fn dns_nameservers(self, nameservers: &[Ipv4Addr]) -> Self

Use custom DNS nameservers.

§Example
use ans_verify::AnsVerifier;
use std::net::Ipv4Addr;

let verifier = AnsVerifier::builder()
    .dns_nameservers(&[
        Ipv4Addr::new(1, 1, 1, 1),
        Ipv4Addr::new(8, 8, 8, 8),
    ])
    .build()
    .await?;
Source

pub fn tlog_client(self, client: Arc<dyn TransparencyLogClient>) -> Self

Set a custom transparency log client.

Source

pub fn with_caching(self) -> Self

Enable caching with default configuration.

Source

pub fn with_cache_config(self, config: CacheConfig) -> Self

Enable caching with custom configuration.

Source

pub fn failure_policy(self, policy: FailurePolicy) -> Self

Set the failure policy.

Source

pub fn dane_policy(self, policy: DanePolicy) -> Self

Set the DANE/TLSA verification policy.

  • DanePolicy::Disabled: Skip DANE verification entirely (default)
  • DanePolicy::ValidateIfPresent: Verify TLSA if records exist, skip if not
  • DanePolicy::Required: Require TLSA records to exist and match
Source

pub fn with_dane_if_present(self) -> Self

Enable DANE verification if TLSA records are present.

Source

pub fn require_dane(self) -> Self

Require DANE verification (fail if no TLSA records).

Source

pub fn dane_port(self, port: u16) -> Self

Set the port for TLSA lookups (default: 443).

Source

pub fn trusted_ra_domains( self, domains: impl IntoIterator<Item = impl Into<String>>, ) -> Self

Restrict badge URL fetches to a set of trusted RA domains.

When configured, badge URLs discovered via DNS TXT records will be validated against this set before any HTTP request is made.

Source

pub async fn build(self) -> AnsResult<AnsVerifier>

Build the verifier.

§Errors

Returns VerificationError::Configuration if scitt_config is set without a key store. Use scitt_key_store or scitt_refreshable_key_store to provide one.

Trait Implementations§

Source§

impl Debug for AnsVerifierBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AnsVerifierBuilder

Source§

fn default() -> AnsVerifierBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more