pub enum SessionBundleError {
VersionMismatch,
InvalidSignature,
Expired,
ExpiryWindowInvariant,
CoordinatorIssuerMismatch,
AudienceMismatch,
NotMember,
MissingField(&'static str),
EmptyParticipants,
Canonicalization(String),
TctVerification(TctError),
Crypto(CryptoError),
}Expand description
Errors from session-bundle construction and verification.
Variants§
VersionMismatch
version field was not "aitp/0.2".
InvalidSignature
Outer bundle signature failed to verify against the coordinator’s pubkey.
Expired
Bundle’s expires_at is in the past.
ExpiryWindowInvariant
expires_at did not equal min(participants[*].tct.expires_at)
(RFC-AITP-0010 §6).
CoordinatorIssuerMismatch
At least one participant TCT had a different issuer from the
bundle’s coordinator.
AudienceMismatch
At least one participant TCT had audience ≠ the entry’s
declared aid (the bundle distributes participants’ OWN TCTs
back to them, so audience and entry.aid must match).
NotMember
Verifier’s AID is not present in participants[].
MissingField(&'static str)
Builder was missing a required field.
EmptyParticipants
Empty participants array — RFC-AITP-0010 §3 requires at least one entry.
Canonicalization(String)
JCS canonicalization failed.
TctVerification(TctError)
TCT verification of an embedded participant TCT failed.
Crypto(CryptoError)
Crypto error (e.g. malformed AID-derived key).
Trait Implementations§
Source§impl Debug for SessionBundleError
impl Debug for SessionBundleError
Source§impl Display for SessionBundleError
impl Display for SessionBundleError
Source§impl Error for SessionBundleError
impl Error for SessionBundleError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()