Skip to main content

validate

Function validate 

Source
pub fn validate<'a, V: Verify<E>, W: Watch, R: Recognizer<E>, E: Work>(
    chain: &[&'a Certificate<'a>],
    anchor: Anchor<'a>,
    context: &ValidationContext<'a, '_, V, W, R, E>,
) -> BuildResult<Validation<'a>, V::Error, R::Error>
Expand description

Checks exactly the supplied leaf-first path to one explicit anchor.

The anchor is excluded from chain. This returns static path facts only; revocation, purpose, key strength and application permissions remain caller decisions. It neither searches alternative issuers nor re-encodes signed data.

A completed rejection is a value. Processing/resource and injected callback errors remain BuildError, while local bounds yield Validation::Incomplete.

use structured_asn1::memory::Memory;
use structured_pkix::{Certificate, path};

fn check<'a, V: path::Verify>(
    chain: &[&'a Certificate<'a>],
    anchor: path::Anchor<'a>,
    execution: &Memory,
    interval: path::Interval,
    verifier: &V,
) -> path::BuildResult<path::Validation<'a>, V::Error, core::convert::Infallible> {
    let context = path::ValidationContext {
        execution,
        interval,
        policy: path::Policy::default(),
        bounds: path::ValidationBounds::default(),
        verifier,
        watch: &(),
        recognizer: &(),
    };
    path::validate(chain, anchor, &context)
}