Skip to main content

ValidatedPath

Struct ValidatedPath 

Source
pub struct ValidatedPath<'p, 'a> { /* private fields */ }
Expand description

A caller-selected AA CA, its authenticated path, effective AA key and controls.

The last supplied certificate is explicitly trusted as the AA CA and is not part of the RFC5280 prospective path. This capability establishes neither revocation status nor application authorization, holder proof, or targeting. Policy storage and control catalogues retain their accounts after the query.

Implementations§

Source§

impl<'p, 'a> ValidatedPath<'p, 'a>

Source

pub fn certificates(&self) -> &[&Certificate<'a>]

Original leaf-first certificates, including the explicitly trusted AA CA.

Source

pub fn anchor(&self) -> EffectiveAnchor<'a>

Selected AA CA and its bound effective key, without root re-verification.

Source

pub fn facts(&self) -> &ValidationFacts<'a>

Completed static PKIX facts, including the actual AA effective key.

Source

pub fn interval(&self) -> Interval

The same complete interval used by path and later AC authentication.

Source

pub fn allows<W: Work>(&self, kind: Oid<'_>, work: &W) -> Result<Permission>

Intersect every control, including for decrypted types and encAttrs. The caller owns attribute decryption and application permission decisions.

Source

pub fn authenticate<'r, 'c, V, W: Work>( &'r self, certificate: &'r AttributeCertificate<'c>, verifier: &V, work: &W, ) -> Result<Outcome<Issued<'r, 'p, 'c, 'a>>, AuthenticationError<<V as AlgorithmAgreement>::Error>>
where for<'op> V: AlgorithmAgreement + Verify<Execution<'op>, Error = <V as AlgorithmAgreement>::Error>,

Authenticate an AC with this path’s AA key and interval, without repeating any path signature. The supplied verifier enforces its selected algorithm policy and accounts its backend; no engine is selected by this module. Holder proof, status, target/proxy effects and authorization remain separate.

Trait Implementations§

Source§

impl<'p, 'a> Debug for ValidatedPath<'p, 'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'p, 'a> !Freeze for ValidatedPath<'p, 'a>

§

impl<'p, 'a> !RefUnwindSafe for ValidatedPath<'p, 'a>

§

impl<'p, 'a> !Send for ValidatedPath<'p, 'a>

§

impl<'p, 'a> !Sync for ValidatedPath<'p, 'a>

§

impl<'p, 'a> !UnwindSafe for ValidatedPath<'p, 'a>

§

impl<'p, 'a> Unpin for ValidatedPath<'p, 'a>

§

impl<'p, 'a> UnsafeUnpin for ValidatedPath<'p, 'a>

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<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, 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.