rsa_export/
error.rs

1use {
2    simple_asn1::ASN1EncodeErr,
3    std::{error::Error as StdError, fmt},
4};
5
6/// Combined error type
7#[derive(Debug)]
8pub enum Error {
9    /// ASN.1 encode error variant
10    Asn1Encode(ASN1EncodeErr),
11    /// Mod inverse fail variant
12    ModInverse,
13}
14
15impl fmt::Display for Error {
16    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17        match self {
18            Error::Asn1Encode(err) => write!(f, "ASN.1 encode error: {}", err),
19            Error::ModInverse => write!(f, "Mod inverse failed"),
20        }
21    }
22}
23
24impl StdError for Error {}
25
26impl From<ASN1EncodeErr> for Error {
27    fn from(err: ASN1EncodeErr) -> Self {
28        Error::Asn1Encode(err)
29    }
30}