1#[derive(Debug, PartialEq, Clone)]
3pub enum CryptoKitError {
4 InvalidKey,
6 InvalidNonce,
8 InvalidInput(String),
10 EncryptionFailed,
12 DecryptionFailed,
14 SignatureFailed,
16 VerificationFailed,
18 SigningFailed,
20 KeyGenerationFailed,
22 NonceGenerationFailed,
24 DerivationFailed,
26 InvalidLength,
28 SwiftCallFailed,
30}
31
32impl std::fmt::Display for CryptoKitError {
33 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
34 match self {
35 CryptoKitError::InvalidKey => write!(f, "Invalid key"),
36 CryptoKitError::InvalidNonce => write!(f, "Invalid nonce"),
37 CryptoKitError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
38 CryptoKitError::EncryptionFailed => write!(f, "Encryption failed"),
39 CryptoKitError::DecryptionFailed => write!(f, "Decryption failed"),
40 CryptoKitError::SignatureFailed => write!(f, "Signature generation failed"),
41 CryptoKitError::VerificationFailed => write!(f, "Signature verification failed"),
42 CryptoKitError::SigningFailed => write!(f, "Signing operation failed"),
43 CryptoKitError::KeyGenerationFailed => write!(f, "Key generation failed"),
44 CryptoKitError::NonceGenerationFailed => write!(f, "Nonce generation failed"),
45 CryptoKitError::DerivationFailed => write!(f, "Key derivation failed"),
46 CryptoKitError::InvalidLength => write!(f, "Invalid data length"),
47 CryptoKitError::SwiftCallFailed => write!(f, "Swift FFI call failed"),
48 }
49 }
50}
51
52impl std::error::Error for CryptoKitError {}
53
54pub type Result<T> = std::result::Result<T, CryptoKitError>;