1use std::{error::Error, fmt};
2
3#[derive(Debug, PartialEq)]
4pub enum AppAttestError {
5 InvalidNonce,
6 InvalidAppIDHash,
7 InvalidPublicKey,
8 InvalidCounter,
9 InvalidCredentialID,
10 InvalidAAGUID,
11 InvalidSignature,
12 InvalidAppID,
13 InvalidClientData,
14 ExpectedASN1Node,
15 FailedToExtractValueFromASN1Node,
16 ExpectedOctetStringInsideASN1Node,
17
18 Message(String)
19}
20
21impl fmt::Display for AppAttestError {
22 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23 match self {
24 AppAttestError::Message(e) => write!(f, "{}", e),
25 AppAttestError::InvalidNonce => write!(f, "invalid nonce"),
26 AppAttestError::InvalidAppIDHash => write!(f, "invalid App ID hash"),
27 AppAttestError::InvalidPublicKey => write!(f, "invalid public key"),
28 AppAttestError::InvalidCounter => write!(f, "invalid counter"),
29 AppAttestError::InvalidCredentialID => write!(f, "invalid credential ID"),
30 AppAttestError::InvalidAAGUID => write!(f, "invalid AAGUID"),
31 AppAttestError::InvalidSignature => write!(f, "invalid signature"),
32 AppAttestError::InvalidAppID => write!(f, "invalid App ID"),
33 AppAttestError::InvalidClientData => write!(f, "invalid client data"),
34 AppAttestError::ExpectedASN1Node => write!(f, "expected ASN1 node"),
35 AppAttestError::FailedToExtractValueFromASN1Node => write!(f, "failed to extract value from ASN1 node"),
36 AppAttestError::ExpectedOctetStringInsideASN1Node => write!(f, "expected octet string inside ASN1 node"),
37 }
38 }
39}
40
41impl Error for AppAttestError {}