1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("invalid argument name: {argument_name}")]
InvalidArgument {
argument_name: &'static str,
},
#[error("signing failed")]
SigningFailed,
#[error("encryption failed")]
EncryptionFailed,
#[error("decryption failed")]
DecryptionFailed,
#[error("key generation failed")]
KeyGenerationFailed,
#[error("invalid q_bits and/or p_bits values")]
InvalidBitSizes,
#[error("arguments are not on the same EC")]
InconsistentCurves,
}
impl Error {
pub(crate) fn invalid_argument(name: &'static str) -> Self {
Error::InvalidArgument {
argument_name: name,
}
}
}
pub type Result<T> = ::std::result::Result<T, Error>;