#[non_exhaustive]pub struct ValidatedPath {
pub anchor_index: usize,
pub depth: usize,
}Expand description
The result of a successful certificate path validation.
Fields are pub for direct read access. #[non_exhaustive] prevents external
code from constructing ValidatedPath directly and from pattern-matching
exhaustively, preserving the ability to add fields in future minor versions
without a breaking change.
§Copy stability
ValidatedPath derives Copy and is committed to remain Copy within the
current major version. Any future field additions that are non-Copy will
require an explicit removal of the Copy derive, constituting a breaking
change per semantic versioning. Callers may depend on Copy within the
0.x series at the corresponding minor version pin.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.anchor_index: usizeIndex into the anchors slice of the trust anchor that terminated the path.
depth: usizeNumber of certificates in the validated chain minus one (chain.len() - 1).
For a single self-signed certificate, depth == 0. For a leaf + one
intermediate, depth == 1. This equals chain.len().saturating_sub(1).
Note: this counts all certificates except the trust anchor — including
self-issued intermediates that RFC 5280 §4.2.1.9 excludes from the
pathLenConstraint count. For chains with self-issued intermediates the
depth field may be larger than the RFC 5280 path length.
Do not compare depth directly against a certificate’s
BasicConstraints pathLenConstraint value. RFC 5280 §4.2.1.9
defines pathLenConstraint as the number of non-self-issued
intermediates below the issuing CA, which differs from this field’s
total certificate count. Use the RFC 5280 §6.1.4(b) accounting
performed by chain_walk instead.
Trait Implementations§
Source§impl Clone for ValidatedPath
impl Clone for ValidatedPath
Source§fn clone(&self) -> ValidatedPath
fn clone(&self) -> ValidatedPath
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ValidatedPath
impl Debug for ValidatedPath
Source§impl Hash for ValidatedPath
impl Hash for ValidatedPath
Source§impl PartialEq for ValidatedPath
impl PartialEq for ValidatedPath
Source§fn eq(&self, other: &ValidatedPath) -> bool
fn eq(&self, other: &ValidatedPath) -> bool
self and other values to be equal, and is used by ==.