#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum CryptoError {
#[error("signature verification failed")]
SignatureInvalid,
#[error("signature parsing failed: {0}")]
SignatureMalformed(String),
#[error("public key parsing failed: {0}")]
KeyParseFailed(String),
#[error("AID does not yield a valid Ed25519 public key: {0}")]
AidNotEd25519(String),
#[error("JWS alg header does not match the signer AID's algorithm: {0}")]
AlgMismatch(String),
#[error("JWS typ header mismatch: expected {expected}, got {got}")]
TypMismatch {
expected: String,
got: String,
},
#[error("compact JWS malformed: {0}")]
JwsMalformed(String),
}