pub enum VerifyError {
ParseBlob(UnarchiveError),
Fetch,
BadSignature,
SubjectMismatch,
IssuerMismatch,
Expired,
ScopeNotSubset,
MalformedCap,
MalformedSig,
LeafCapMissing,
NonRootMissingParent,
ChainTooDeep,
}Expand description
Errors returned by verify_chain.
Variants§
ParseBlob(UnarchiveError)
The leaf or some intermediate sig/cap blob could not be parsed as a valid SimpleArchive.
Fetch
Fetching a referenced blob (cap or sig) from the caller-supplied fetch function failed.
BadSignature
A signature failed to verify against the expected pubkey + cap blob bytes.
SubjectMismatch
The leaf cap’s subject did not match the expected (connecting) peer pubkey.
IssuerMismatch
A cap’s cap_issuer did not match the accompanying sig’s
signed_by.
Expired
A cap or one of its parent caps has expired.
ScopeNotSubset
A child cap’s scope was not a subset of its parent’s scope. (Enforcement deferred to the scope-subsumption module — for now this variant is reserved for future use.)
MalformedCap
A cap blob is missing required attributes (e.g. cap_subject, cap_issuer, cap_scope_root, expires_at) or has multiple conflicting values.
MalformedSig
A sig blob is missing required attributes or has multiple conflicting values.
LeafCapMissing
The leaf sig blob refers to a cap blob whose handle the verifier could not retrieve.
NonRootMissingParent
A non-root sig-blob entity (one whose signer differs from the
team root) is missing either sig_parent_cap or
sig_embedded_parent_proof.
ChainTooDeep
The chain exceeded a sanity-bound depth without terminating at the team root.
Trait Implementations§
Source§impl Debug for VerifyError
impl Debug for VerifyError
Source§impl From<UnarchiveError> for VerifyError
impl From<UnarchiveError> for VerifyError
Source§fn from(e: UnarchiveError) -> Self
fn from(e: UnarchiveError) -> Self
Auto Trait Implementations§
impl Freeze for VerifyError
impl RefUnwindSafe for VerifyError
impl Send for VerifyError
impl Sync for VerifyError
impl Unpin for VerifyError
impl UnsafeUnpin for VerifyError
impl UnwindSafe for VerifyError
Blanket Implementations§
impl<T> ArchiveOwner for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more