pub struct RevocationPolicy {
pub known: Vec<KeyRevocation>,
}Expand description
Consumer-held key revocations to enforce during verification (ACDP 0.3, RFC-ACDP-0014 §7).
The revocation signal is pull-based: the pipeline does not go
looking for revocations on its own — the caller supplies the
verified revocations it holds (from
find_revocations, an
out-of-band channel, or its own indefinite cache — the statement is
permanent, cache accordingly). When known is empty the phase is
inert and verification behaves exactly as before RFC-ACDP-0014.
When the body’s signing key matches a supplied revocation, §7
applies: a receipt-attested publish time strictly before the
(earliest, §4) compromised_since boundary verifies as
KeyAuthorization::HistoricallyAuthorizedPreCompromise; at/after
the boundary, or with no verified receipt to place the context at
all, verification fails closed with key_not_authorized —
regardless of DID-document state and regardless of the receipt’s
own validity. Note the interaction with ReceiptPolicy::Ignore:
an unverified receipt provides no publish time, so a revoked key’s
contexts all fail closed under it.
Only put revocations here that you have verified (strict body
pipeline + the §5 not-self-signed rule) and, per §6, that you have
decided to act on: producer-signed ones unconditionally;
registry-attested ones (RevocationTrustClass::RegistryAttested)
by default only for contexts served by or receipted by that same
registry, with corroboration before global application.
Fields§
§known: Vec<KeyRevocation>Verified revocations to enforce, matched against the signing
key’s RFC-ACDP-0010 §6 fingerprint. The §4 earliest-
compromised_since rule is applied across entries naming the
same fingerprint, so include every revocation of a lineage,
superseded ones too.
Trait Implementations§
Source§impl Clone for RevocationPolicy
impl Clone for RevocationPolicy
Source§fn clone(&self) -> RevocationPolicy
fn clone(&self) -> RevocationPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RevocationPolicy
impl Debug for RevocationPolicy
Source§impl Default for RevocationPolicy
impl Default for RevocationPolicy
Source§fn default() -> RevocationPolicy
fn default() -> RevocationPolicy
impl Eq for RevocationPolicy
Source§impl PartialEq for RevocationPolicy
impl PartialEq for RevocationPolicy
Source§fn eq(&self, other: &RevocationPolicy) -> bool
fn eq(&self, other: &RevocationPolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RevocationPolicy
Auto Trait Implementations§
impl Freeze for RevocationPolicy
impl RefUnwindSafe for RevocationPolicy
impl Send for RevocationPolicy
impl Sync for RevocationPolicy
impl Unpin for RevocationPolicy
impl UnsafeUnpin for RevocationPolicy
impl UnwindSafe for RevocationPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.