Expand description
Consumer-side key-revocation semantics (ACDP 0.3, RFC-ACDP-0014).
Three layers:
classify_under_revocation— the pure §7 boundary rule: given verified revocations and a (receipt-attested) publish time, decide historically authorized (pre-compromise, receipt-attested) vs fail-closed. This is whatVerificationPolicy::revocationsdrives inside the fetch pipeline.verify_revocation_body— the §5 verification pipeline for a revocation context itself: strict RFC-ACDP-0001 §5.11 body verification, §4 shape parse, and the §5 step 2 not-self-signed check against the resolved signing key’s fingerprint.find_revocations— the §8 discovery SHOULD: search a registry for a producer’s revocation contexts and return the ones that verify.
Functions§
- classify_
under_ revocation - Apply the RFC-ACDP-0014 §7 compromise-boundary rule.
- classify_
under_ revocation_ placed classify_under_revocationwith the receipt-key status of the placing receipt (RFC-ACDP-0014 §7 step 1, 0.5.0). Under the strict profile (accept_historical_receipt_key == false) a receipt verified under aReceiptKeyStatus::Historicalkey cannot place the context: it is unplaceable (§7 step 4) and fails closed.trueis the named non-strict mode (RevocationPolicy::accept_historical_receipt_key_for_pre_t).- find_
registry_ attested_ revocations - Discover a producer’s registry-attested (§6) key revocations —
the RFC-ACDP-0014 §8 second query that
find_revocations’s own doc points callers at, since a producer-scoped search structurally cannot return them (they are published under the registry’sagent_id, not the producer’s). - find_
revocations - Discover a producer’s key revocations on a registry
(RFC-ACDP-0014 §8): search
type=key-revocation(and the §10 interimacdp:key-revocation) withagent_id=<producer>, retrieve each match, and return the ones that verify per §5 (verify_revocation_body) and that satisfy two additional invariants enforced client-side, neither of which the registry can be trusted to have applied: - find_
revocations_ in_ lineage - Discover every verified member of a revocation lineage
(RFC-ACDP-0014 §4, RFC-ACDP-0013 §8.1), regardless of
registry_state.statusand with no trust-class or publisher scope filter applied. - verify_
revocation_ body - Verify a
key-revocationcontext body per RFC-ACDP-0014 §5 and return its typed, trust-classified form. - verify_
revocation_ candidate - Verify one revocation candidate found by auto-discovery (RFC-ACDP-0014 §8, 0.5.0 “Discovery outcome classes”).
- verify_
revocation_ context verify_revocation_bodyfor a retrievedFullContext: thecontent_hashis recomputed over the raw received body (RFC-ACDP-0001 §5.7), so a revocation whose producer spelled a timestamp differently from this crate’s typed rendering still verifies. Prefer this whenever the whole context is at hand.