pub enum HubCheckpointVerification {
Valid,
MissingFields(&'static str),
Tampered,
NotHubKind,
UntrustedIssuer,
}Expand description
Outcome of verify_hub_checkpoint_signature.
Variants§
Valid
Signature verified. The checkpoint was genuinely signed by
hub_public_key. Coverage is the caller’s job to assert.
MissingFields(&'static str)
Checkpoint claims kind=HubOrg but is missing one of
hub_id, hub_public_key, hub_signature, or signed_at.
Verifiers MUST treat this the same as Tampered for the
purpose of emitting replay-hub-org.
Tampered
Signature did not verify against the embedded public key. Tampered or wrong key.
NotHubKind
Checkpoint kind is LocalJournal – nothing to verify here.
Caller should not have called this; surface as a programming
error.
UntrustedIssuer
The embedded hub_public_key is not in the operator’s trust root
store under kind Ship. The signature math may be internally
consistent, but the issuer is unknown – self-signed forgeries
land here. Distinct from Tampered so callers can render the
actionable “configure trust” remediation.
Trait Implementations§
Source§impl Clone for HubCheckpointVerification
impl Clone for HubCheckpointVerification
Source§fn clone(&self) -> HubCheckpointVerification
fn clone(&self) -> HubCheckpointVerification
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 HubCheckpointVerification
impl Debug for HubCheckpointVerification
Source§impl PartialEq for HubCheckpointVerification
impl PartialEq for HubCheckpointVerification
Source§fn eq(&self, other: &HubCheckpointVerification) -> bool
fn eq(&self, other: &HubCheckpointVerification) -> bool
self and other values to be equal, and is used by ==.impl Eq for HubCheckpointVerification
impl StructuralPartialEq for HubCheckpointVerification
Auto Trait Implementations§
impl Freeze for HubCheckpointVerification
impl RefUnwindSafe for HubCheckpointVerification
impl Send for HubCheckpointVerification
impl Sync for HubCheckpointVerification
impl Unpin for HubCheckpointVerification
impl UnsafeUnpin for HubCheckpointVerification
impl UnwindSafe for HubCheckpointVerification
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.