1use thiserror::Error;
6
7use crypto_core::{AeadAlgorithm, Algorithm, CryptoError, HashAlgorithm, MacAlgorithm};
8
9#[derive(Debug, Error)]
11pub enum AlgorithmError {
12 #[error("unsupported algorithm: {0}")]
14 UnsupportedAlgorithm(Algorithm),
15
16 #[error("unsupported AEAD algorithm: {0}")]
18 UnsupportedAeadAlgorithm(AeadAlgorithm),
19
20 #[error("unsupported hash algorithm: {0}")]
22 UnsupportedHashAlgorithm(HashAlgorithm),
23
24 #[error("unsupported MAC algorithm: {0}")]
26 UnsupportedMacAlgorithm(MacAlgorithm),
27
28 #[error("invalid key for algorithm: {0}")]
30 InvalidKey(Algorithm),
31
32 #[error("signature verification failed for {0}")]
34 SignatureInvalid(Algorithm),
35
36 #[error(transparent)]
38 Crypto(#[from] CryptoError),
39}