Skip to main content

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}