Skip to main content

Preparation

Struct Preparation 

Source
pub struct Preparation<'model, 'document> { /* private fields */ }
Expand description

Immutable source-derived root profile and COMPLETE nested timestamp census. Findings prevent a positive predicate; processing refusal returns no prefix.

Implementations§

Source§

impl<'m, 'd> Preparation<'m, 'd>

Source

pub fn read( document: &'m Document<'m, 'd>, signer: &'m SignerInfo<'d>, requested: Level, parent: &Reader<'d>, ) -> Result<Self, ReadError>

Builds format obligations from the original selected root. All nested countersignatures are traversed iteratively by the existing CMS walker. No key lookup, provider, source acquisition or signature check occurs.

EN319122-1 V1.3.1 §§6.2.2/6.3 table 1 makes the requested level explicit; ‘*’ is advisory and an optional archive never promotes a lower request. https://www.etsi.org/deliver/etsi_en/319100_319199/31912201/01.03.01_60/en_31912201v010301p.pdf

Source

pub fn requested(&self) -> Level

Explicit profile requested before interpreting unsigned augmentation.

Source

pub fn preservation(&self) -> &[Required<'d>]

Every historical preservation obligation from ALL parallel root signers and selected counters. These require their actual older proof processors; absence of a qualified receipt cannot be replaced with ATSv3 evidence.

Source

pub fn preservation_findings(&self) -> &[Finding<'m, 'd>]

Located preservation findings on OTHER parallel roots/counters. These do not change the selected root’s B-B syntax facts; their TSA actors are nevertheless mandatory in the full historical timestamp census.

Source

pub fn signer(&self) -> &'m SignerInfo<'d>

Original selected root signer.

Source

pub fn document(&self) -> &'m Document<'m, 'd>

Full original root SignedData, including parallel signer/material fields.

Source

pub fn profile(&self) -> &Profile<'d>

Already parsed ESS restrictions and profile findings; no second read.

Source

pub fn properties(&self) -> &Properties<'d>

Original optional property syntax, open-format obligations and causes.

Source

pub fn counters(&self) -> &[Counter<'d>]

Every original nested counter value in original depth-first order.

Source

pub fn parallel_counters(&self) -> &[Counter<'d>]

Original counters of OTHER parallel roots, retained only as source and preservation metadata. Their presence does not assert their signature math or add their signer paths to this selected root’s counter census.

Source

pub fn signature_input( &self, timestamp: usize, parent: &Reader<'_>, ) -> Result<Option<&[Piece<'d>]>>

Original signature CONTENT octets of a timestamp’s actual owner. A counter timestamp covers that counter, not the counter’s parent/root.

Source

pub fn counter_content_input( &self, timestamp: usize, parent: &Reader<'_>, ) -> Result<Option<&[Piece<'d>]>>

A content timestamp on a counter covers that counter’s original input: its PARENT signature. The root’s content timestamp uses eContent and consequently returns None here, never the root signature as a fallback.

Source

pub fn timestamps(&self) -> &[Timestamp<'d>]

All original root/counter timestamp occurrences, including failed ones.

Source

pub fn timestamp_requirements( &self, ) -> &TimestampRequirements<Node, DocumentId<'m, 'd>, (), Cades>

Complete source-derived TSA obligations for the common LTV core.

Source

pub fn findings(&self) -> &[Finding<'m, 'd>]

Located mandatory and advisory findings, without product severity policy.

Source

pub fn all_format_requirements_met(&self) -> bool

Only format preparation; no signature, ESS hash, path or trust assertion.

Source

pub fn basic_format_requirements_met(&self) -> bool

Mandatory root/counter B-B format conditions only. A missing timestamp at a higher requested level does not retroactively erase a B-B fact.

Trait Implementations§

Source§

impl<'m, 'd> ArchiveCensus for Preparation<'m, 'd>

Source§

type Id = Node

Original node identity.
Source§

type Document = DocumentId<'m, 'd>

Stable document identity.
Source§

type Generation = ()

Exact document generation.
Source§

fn signature(&self) -> Original<'m, 'd>

The signature whose timestamps these are.
Source§

fn timestamps(&self) -> usize

Number of timestamps of every kind.
Source§

fn archive(&self, ordinal: usize) -> Option<Node>

The original archive input subject at this ordinal, or None for another kind of input. Match the format’s Coverage::subject: a token for member-specific inputs, or the property for property-shared input. Read more

Auto Trait Implementations§

§

impl<'model, 'document> !Freeze for Preparation<'model, 'document>

§

impl<'model, 'document> !RefUnwindSafe for Preparation<'model, 'document>

§

impl<'model, 'document> !Send for Preparation<'model, 'document>

§

impl<'model, 'document> !Sync for Preparation<'model, 'document>

§

impl<'model, 'document> !UnwindSafe for Preparation<'model, 'document>

§

impl<'model, 'document> Unpin for Preparation<'model, 'document>

§

impl<'model, 'document> UnsafeUnpin for Preparation<'model, 'document>

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.