Skip to main content

SigningAttributes

Struct SigningAttributes 

Source
pub struct SigningAttributes<'a> { /* private fields */ }
Expand description

Both independently evaluated ESS attributes, with placement/cardinality diagnostics separate from certificate/hash/path checking.

Implementations§

Source§

impl<'a> SigningAttributes<'a>

Source

pub fn bind_certificate<P: AsnDigest<'a>>( &self, provider: &'a P, certificate: &Certificate<'_>, parent: &Reader<'a>, ) -> Result<Bindings, BindingError<P::Error>>

Checks both first identifiers over one complete original DER certificate.

Resolution and known-width checks precede every state/input side effect. Semantic digest identities are deduplicated through the selected provider; neither digest states nor output identities are cloned. Each version keeps its own outcome, while the target issuer is prepared at most once. Later identifiers and policy terms remain signed validation-set restrictions in this object; the caller must enforce them and signature/path/time policy.

Source§

impl<'a> SigningAttributes<'a>

Source

pub fn read(signer: &SignerInfo<'a>, parent: &Reader<'a>) -> Result<Self>

Reads the recognized signed fields using original value provenance.

RFC5035 §§3/5 require one instance and one value in signed attributes. Byte-identical repeats retain one reading plus a cardinality fault; conflicting values refuse selection. Unsigned instances are retained as placement faults, never used as certificate bindings. No resolver, hash state, signature or caller payload is accessed during this step. https://www.rfc-editor.org/rfc/rfc5035#section-3

Source

pub fn inspect(signer: &SignerInfo<'a>, parent: &Reader<'a>) -> Result<Self>

Reads the same ESS grammar while retaining nonterminal selection/schema failures. A conflicting or unreadable version has no selected binding; its original cause remains in Self::faults. This permits protocol inspection without choosing a certificate or hiding later obligations.

§Errors

Source/session, depth, memory or work refusal, including refusal to retain a diagnostic. None becomes a recoverable document finding.

Source

pub fn signed_attributes_present(&self) -> bool

Whether any signed attributes existed, independently of ESS presence.

Source

pub fn v1(&self) -> Option<&SigningCertificate<'a>>

Original V1 signer/path restrictions, when written.

Source

pub fn v2(&self) -> Option<&SigningCertificate<'a>>

Independently evaluated original V2 signer/path restrictions.

Source

pub fn faults(&self) -> &[Error]

Placement and identical-repetition diagnostics; nested schema faults remain with each SigningCertificate::faults collection.

Trait Implementations§

Source§

impl<'a> Debug for SigningAttributes<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !Freeze for SigningAttributes<'a>

§

impl<'a> !RefUnwindSafe for SigningAttributes<'a>

§

impl<'a> !Send for SigningAttributes<'a>

§

impl<'a> !Sync for SigningAttributes<'a>

§

impl<'a> !UnwindSafe for SigningAttributes<'a>

§

impl<'a> Unpin for SigningAttributes<'a>

§

impl<'a> UnsafeUnpin for SigningAttributes<'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.