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)
}