pub fn effective_boundary<'a>(
revocations: impl IntoIterator<Item = &'a KeyRevocation>,
key_fingerprint: &str,
) -> Option<DateTime<Utc>>Expand description
The effective compromise boundary for key_fingerprint across a set
of (verified) revocations: the earliest compromised_since
among those that name the fingerprint, or None when none does.
This is the RFC-ACDP-0014 §4 monotonicity rule: a superseding revocation may widen — never narrow — the compromise window, so a supersession can never quietly shrink it. Feed every revocation of a lineage (including superseded ones) through this, not just the head.