pub struct Pipeline<'a> {
pub bundle: &'a TrustAnchorBundle,
pub graph: &'a TrustGraph,
pub registry: &'a Registry,
pub verifier: &'a dyn SignatureVerifier,
pub revocation: &'a dyn RevocationView,
pub transparency: TransparencyInputs,
pub freshness: FreshnessWindow,
pub classification: &'a dyn ClassificationPolicy,
pub acceptance: &'a AcceptancePolicy,
}Expand description
The ordered verification pipeline.
Fields§
§bundle: &'a TrustAnchorBundleAnchor bundle (offline trust starting point).
graph: &'a TrustGraphThe trust graph (delegation DAG).
registry: &'a RegistryScheme registries.
verifier: &'a dyn SignatureVerifierSignature verifier fleet.
revocation: &'a dyn RevocationViewRevocation state view (CRLs and hash bindings).
transparency: TransparencyInputsSoft-check inputs from transparency and time verification.
freshness: FreshnessWindowTime-freshness window.
classification: &'a dyn ClassificationPolicyClassification policy (scheme-defined).
acceptance: &'a AcceptancePolicyAcceptance policy (verifier-defined).
Implementations§
Source§impl<'a> Pipeline<'a>
impl<'a> Pipeline<'a>
Sourcepub fn new(
bundle: &'a TrustAnchorBundle,
graph: &'a TrustGraph,
registry: &'a Registry,
verifier: &'a dyn SignatureVerifier,
revocation: &'a dyn RevocationView,
transparency: TransparencyInputs,
acceptance: &'a AcceptancePolicy,
) -> Self
pub fn new( bundle: &'a TrustAnchorBundle, graph: &'a TrustGraph, registry: &'a Registry, verifier: &'a dyn SignatureVerifier, revocation: &'a dyn RevocationView, transparency: TransparencyInputs, acceptance: &'a AcceptancePolicy, ) -> Self
A pipeline with the reference classification policy.
Sourcepub fn with_classification(self, policy: &'a dyn ClassificationPolicy) -> Self
pub fn with_classification(self, policy: &'a dyn ClassificationPolicy) -> Self
Override the classification policy.
Sourcepub fn with_freshness(self, window: FreshnessWindow) -> Self
pub fn with_freshness(self, window: FreshnessWindow) -> Self
Override the freshness window.
Sourcepub fn run(
&self,
artifact: &TrustedArtifact,
now: DateTime<Utc>,
) -> SignatifResult<VerificationOutcome>
pub fn run( &self, artifact: &TrustedArtifact, now: DateTime<Utc>, ) -> SignatifResult<VerificationOutcome>
Run the pipeline. Hard checks in order: bundle validity, format validity + registry status, co-signature verification, chain path-finding (scope narrowing per link), revocation status. Soft checks accumulate: transparency, time anchor, multi-log quorum, dimension coverage, root diversity.
§Errors
Returns the first hard failure encountered; the error is the machine-readable reason, the caller short-circuits to the rejected label.