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