1use failure_derive::*;
2
3#[derive(Debug, Fail)]
4pub enum CryptoErrors {
5 #[fail(display = "invalid key size, needed: {} got: {}", size_needed, size_provided)]
6 InvalidKeySize { size_provided: usize, size_needed: usize },
7 #[fail(display = "invalid nonce size, needed: {} got: {}", size_needed, size_provided)]
8 InvalidNonceSize { size_provided: usize, size_needed: usize },
9 #[fail(display = "Invalid key for libsodium!")]
10 InvalidKey {},
11 #[fail(display = "Function call to C Sodium Failed.")]
12 FunctionError {},
13 #[fail(display = "Invalid Output Size specified")]
14 InvalidOutputSize {},
15 #[fail(display = "Unable to encrypt")]
16 EncryptionError {},
17}
18
19#[derive(Debug, Fail)]
20pub enum RsaKeyErrors {
21 #[fail(display = "Invalid RSA Key Provided")]
22 InvalidKey {},
23 #[fail(display = "Failed to generate signed RSA content")]
24 SignError {},
25}
26
27#[derive(Debug, Fail)]
28pub enum GenericError {
29 #[fail(display = "No key of the correct type was provided")]
30 NoKeyProvided {},
31 #[fail(display = "This token is invalid, or expired.")]
32 InvalidToken {},
33 #[fail(display = "This token has an invalid footer.")]
34 InvalidFooter {},
35 #[fail(display = "Failed to generate enough random bytes.")]
36 RandomError {},
37 #[fail(display = "Failed to perform HKDF")]
38 BadHkdf {},
39}