pub struct CheckedPath<'a> { /* private fields */ }Expand description
Static checked chain used by the common material census.
This does not authenticate its association with a signature, credential or timestamp. Nor does it establish revocation, purpose, historical trust or application algorithm permission. The root operation must establish those separate facts against the actual selected source.
Implementations§
Source§impl<'document> CheckedPath<'document>
impl<'document> CheckedPath<'document>
Sourcepub fn status_census<'view, 'certificate, W: Work>(
&'view self,
at: Reading,
entries: &'view [MemberStatus<'view, 'certificate, 'document>],
execution: &W,
) -> Result<PathStatuses<'view, 'certificate, 'document>, StatusCensusError>
pub fn status_census<'view, 'certificate, W: Work>( &'view self, at: Reading, entries: &'view [MemberStatus<'view, 'certificate, 'document>], execution: &W, ) -> Result<PathStatuses<'view, 'certificate, 'document>, StatusCensusError>
Establish complete original status-input association for the actual path, before deriving conditional validation-material obligations. EN319132-1 V1.3.1 §6.3(aa) refers to the validation data actually needed for the signer, counters, credentials and earlier timestamps, rather than accepting a nonempty bag of statuses as the complete path set. Status/freshness acceptance and historical trust remain separate. https://www.etsi.org/deliver/etsi_en/319100_319199/31913201/01.03.01_60/en_31913201v010301p.pdf
Source§impl<'document> CheckedPath<'document>
impl<'document> CheckedPath<'document>
Sourcepub fn bind_crl_coverage<'view, 'certificate, W: Work>(
&'view self,
member: usize,
coverage: &'view Coverage<'certificate, 'document>,
authorities: &'view [CrlAuthorities<'view, 'document>],
utc: &LeapTable<'_>,
execution: &W,
) -> Result<CrlCoverageBinding<'view, 'certificate, 'document>, CrlCoverageError>
pub fn bind_crl_coverage<'view, 'certificate, W: Work>( &'view self, member: usize, coverage: &'view Coverage<'certificate, 'document>, authorities: &'view [CrlAuthorities<'view, 'document>], utc: &LeapTable<'_>, execution: &W, ) -> Result<CrlCoverageBinding<'view, 'certificate, 'document>, CrlCoverageError>
Bind every original reason contributor using the same target/key/time
kernel as a single source. RFC5280 §6.3.3’s reasons_mask union cannot
inherit authenticated-path provenance from only its first contributor.
This traversal adds no catalogue allocation or signature verification;
shared Name comparison retains its ordinary scoped scratch admission.
https://www.rfc-editor.org/rfc/rfc5280.html#section-6.3.3
Sourcepub fn bind_crl<'view, 'certificate, W: Work>(
&'view self,
member: usize,
evidence: &'view AbsenceEvidence<'certificate, 'document>,
authorities: CrlAuthorities<'view, 'document>,
utc: &LeapTable<'_>,
execution: &W,
) -> Result<CrlBinding<'view, 'certificate, 'document>, CrlBindingError>
pub fn bind_crl<'view, 'certificate, W: Work>( &'view self, member: usize, evidence: &'view AbsenceEvidence<'certificate, 'document>, authorities: CrlAuthorities<'view, 'document>, utc: &LeapTable<'_>, execution: &W, ) -> Result<CrlBinding<'view, 'certificate, 'document>, CrlBindingError>
Bind one original qualified CRL source to this actual path member. RFC5280 §6.3.3(f) requires the CRL issuer’s path to use the same trust anchor as the target path. Shared CRL authentication already checks the actual signature and cRLSign; this operation binds its original signer and effective key to the supplied checked authority, without repeating math. An indirect CRL authority may differ from the target’s issuer. https://www.rfc-editor.org/rfc/rfc5280.html#section-6.3.3
§Panics
Only if the private nonempty checked-path invariant is violated.
Source§impl<'document> CheckedPath<'document>
impl<'document> CheckedPath<'document>
Sourcepub fn bind_crl_reading<'view, 'certificate, W: Work>(
&'view self,
member: usize,
reading: CrlReading<'view, 'certificate, 'document>,
authorities: CrlAuthorities<'view, 'document>,
utc: &LeapTable<'_>,
execution: &W,
) -> Result<CrlReadingBinding<'view, 'certificate, 'document>, CrlBindingError>
pub fn bind_crl_reading<'view, 'certificate, W: Work>( &'view self, member: usize, reading: CrlReading<'view, 'certificate, 'document>, authorities: CrlAuthorities<'view, 'document>, utc: &LeapTable<'_>, execution: &W, ) -> Result<CrlReadingBinding<'view, 'certificate, 'document>, CrlBindingError>
Bind actual CRL facts using the same authority kernel as qualified
absence. Unsuitable freshness/entries remain readable negative facts;
only the common facts’ separate absence method can qualify absence.
Source§impl<'document> CheckedPath<'document>
impl<'document> CheckedPath<'document>
Sourcepub fn bind_ocsp<'view, 'certificate, W: Work>(
&'view self,
member: usize,
evidence: &'view BoundEvidence<'certificate, 'document, 'certificate, 'document>,
execution: &W,
) -> Result<OcspBinding<'view, 'certificate, 'document>, OcspBindingError>
pub fn bind_ocsp<'view, 'certificate, W: Work>( &'view self, member: usize, evidence: &'view BoundEvidence<'certificate, 'document, 'certificate, 'document>, execution: &W, ) -> Result<OcspBinding<'view, 'certificate, 'document>, OcspBindingError>
Attach a common OCSP target result to the actual path member and issuing
key. A successful CertID match alone cannot establish that the caller
supplied the issuer that actually certified this target.
RFC6960 §4.2.2.2 requires the same issuing key for direct delegation.
Match that original SPKI and authenticated inherited parameter state,
rather than reconstructing a standing key from a certificate or accepting
a matching issuer DN. Both the common CertID evaluation and this common
path already checked Name equality against the SAME original target.
Explicit configured-responder trust used no issuing-key authentication;
its separate branch is retained, with the same issuer SPKI check.
https://www.rfc-editor.org/rfc/rfc6960#section-4.2.2.2
§Panics
Only if the private vector/index invariant is violated: a validated nonzero member index always has its immediately preceding issuer.
Source§impl<'a> CheckedPath<'a>
impl<'a> CheckedPath<'a>
Sourcepub fn anchor(&self) -> Anchor<'a>
pub fn anchor(&self) -> Anchor<'a>
Caller-selected anchor, outside the prospective certification path. An anchor certificate, when supplied, is available for material census but never becomes a non-anchor revocation obligation.
Sourcepub fn interval(&self) -> Interval
pub fn interval(&self) -> Interval
Exact lossless interval checked by the shared path processor.
Sourcepub fn members(&self) -> &[Member<'a>]
pub fn members(&self) -> &[Member<'a>]
Original non-anchor members in issuer-to-subject order. The final entry is the supplied target. Each needs its own status-processing outcome; the path’s existence alone never supplies a Good assertion.
Sourcepub fn facts(&self) -> &ValidationFacts<'a>
pub fn facts(&self) -> &ValidationFacts<'a>
Accepted static policies/effective target key from the same invocation.
Sourcepub fn bind_timestamp<'view, 'certificate, N: Copy, D: Copy, G: Copy, I, W: Work>(
&'view self,
actor: &'view CheckedActor<'certificate, 'a, N, D, G, I>,
utc: &LeapTable<'_>,
execution: &W,
) -> TimestampBindingResult<'view, 'certificate, 'a, N, D, G, I>
pub fn bind_timestamp<'view, 'certificate, N: Copy, D: Copy, G: Copy, I, W: Work>( &'view self, actor: &'view CheckedActor<'certificate, 'a, N, D, G, I>, utc: &LeapTable<'_>, execution: &W, ) -> TimestampBindingResult<'view, 'certificate, 'a, N, D, G, I>
Binds this actual path to the signer/key used by the complete token check. The checked path interval must contain the entire timestamp-generation interval, not just its bare genTime. This is static TSA path binding; unresolved revocation and application trust acceptance remain separate.
§Panics
Only if the private construction invariant is violated: an accepted common path always has its original nonempty target chain.