Skip to main content

Verified

Struct Verified 

Source
pub struct Verified<N, D, G, I> { /* private fields */ }
Expand description

Successfully checked token covering the input its format layer selected.

Only the holder of issuer I constructs it, from its own complete token check over that input (see crate on issuers); this is not a TSA trust decision or a level.

Implementations§

Source§

impl<N, D, G, I> Verified<N, D, G, I>

Source

pub fn new( _issuer: I, token: Location<N, D, G>, signature: N, property: N, purpose: Purpose, evidence: Evidence, ) -> Self

Retains a complete token check with the original identity of its input.

token is the original token enclosure, signature the signature whose input was covered, property the timestamp property or attribute and purpose the kind of input selected for the check. Requiring the issuer value keeps a caller of the format from relabeling evidence.

Source§

impl<N: Copy, D: Copy, G: Copy, I> Verified<N, D, G, I>

Source

pub fn token(&self) -> Location<N, D, G>

Original token enclosure, not an offset in its decoded ASN.1 source.

Source

pub fn signature(&self) -> N

Actual selected signature whose original input was covered.

Source

pub fn property(&self) -> N

Original timestamp property, independently of its encapsulated token.

Source

pub fn purpose(&self) -> Purpose

Kind of input selected during checking.

Source

pub fn evidence(&self) -> &Evidence

Independently retained token facts and original ASN.1 source projection.

Source

pub fn into_evidence(self) -> Evidence

Moves retained evidence without a second allocation or deep copy.

Source

pub fn interval<W: Work>( &self, utc: &LeapTable<'_>, execution: &W, ) -> Result<Interval, TemporalError>

Derives the complete authority generation interval using the existing RFC3161/UTC arithmetic, funded by the current operation. Missing accuracy remains uncertainty, never an implicitly exact time. Caller policy is responsible for authenticating the supplied leap table.

EN319132-1 §6.3(o) requires the signature timestamp to precede signer revocation/expiry; its bare genTime is insufficient when accuracy is stated. This helper supplies endpoints, not path/status acceptance. https://www.etsi.org/deliver/etsi_en/319100_319199/31913201/01.03.01_60/en_31913201v010301p.pdf

Source

pub fn relation<W: Work>( &self, boundary: Instant, utc: &LeapTable<'_>, execution: &W, ) -> Result<BoundaryRelation, TemporalError>

Compares the complete generation interval to an explicit event label.

This never substitutes the bare genTime or a claimed signing time for the interval, nor decides certificate/status/trust policy. Missing accuracy, invalid leap labels and absent UTC coverage remain uncertainty; all table work is admitted through current execution.

Trait Implementations§

Source§

impl<N: Debug, D: Debug, G: Debug, I: Debug> Debug for Verified<N, D, G, I>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<N, D, G, I> !Freeze for Verified<N, D, G, I>

§

impl<N, D, G, I> RefUnwindSafe for Verified<N, D, G, I>

§

impl<N, D, G, I> Send for Verified<N, D, G, I>
where Location<N, D, G>: Send, N: Send, PhantomData<I>: Send,

§

impl<N, D, G, I> Sync for Verified<N, D, G, I>
where Location<N, D, G>: Sync, N: Sync, PhantomData<I>: Sync,

§

impl<N, D, G, I> Unpin for Verified<N, D, G, I>
where Location<N, D, G>: Unpin, N: Unpin, PhantomData<I>: Unpin,

§

impl<N, D, G, I> UnsafeUnpin for Verified<N, D, G, I>

§

impl<N, D, G, I> UnwindSafe for Verified<N, D, G, I>

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.