extern crate alloc;
use alloc::string::String;
#[derive(Debug)]
pub enum CryptoError {
InvalidKey,
InvalidCertificate,
InvalidInput,
InvalidLength,
UnsupportedAlgorithm,
VerificationFailed,
InternalError,
Message(String),
}
impl core::fmt::Display for CryptoError {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
CryptoError::InvalidKey => write!(f, "invalid key"),
CryptoError::InvalidCertificate => write!(f, "invalid certificate"),
CryptoError::InvalidInput => write!(f, "invalid input"),
CryptoError::InvalidLength => write!(f, "invalid length"),
CryptoError::UnsupportedAlgorithm => write!(f, "unsupported algorithm"),
CryptoError::VerificationFailed => write!(f, "verification failed"),
CryptoError::InternalError => write!(f, "internal error"),
CryptoError::Message(msg) => write!(f, "{msg}"),
}
}
}
pub type Result<T> = core::result::Result<T, CryptoError>;