aitp_crypto/error.rs
1//! Crypto error type.
2
3/// Errors returned by signing, verifying, and key parsing operations.
4#[derive(Debug, thiserror::Error)]
5#[non_exhaustive]
6pub enum CryptoError {
7 /// Signature verification returned a cryptographic failure.
8 #[error("signature verification failed")]
9 SignatureInvalid,
10
11 /// Signature string was not valid base64url or wrong length.
12 #[error("signature parsing failed: {0}")]
13 SignatureMalformed(String),
14
15 /// Public key bytes could not be parsed as an Ed25519 key.
16 #[error("public key parsing failed: {0}")]
17 KeyParseFailed(String),
18
19 /// AID identifier did not decode to a valid 32-byte Ed25519 key.
20 #[error("AID does not yield a valid Ed25519 public key: {0}")]
21 AidNotEd25519(String),
22}