Skip to main content

platform/aid/credential/
error.rs

1//! AId 错误类型定义
2//!
3//! 定义了 AId Token 相关操作的各种错误类型
4
5use crate::realm::error::RealmError;
6use thiserror::Error;
7
8/// AId Token 相关错误类型
9#[derive(Debug, Error)]
10pub enum AidError {
11    #[error("Invalid credential format")]
12    InvalidFormat,
13
14    #[error("Token has expired")]
15    Expired,
16
17    #[error("Invalid timestamp: {0}")]
18    InvalidTimestamp(String),
19
20    #[error("Base64 decode error: {0}")]
21    Base64DecodeError(#[from] base64::DecodeError),
22
23    #[error("Invalid signature: {0}")]
24    InvalidSignature(String),
25
26    #[error("Proto decode failure: {0}")]
27    DecodeFailure(String),
28
29    #[error("Token generation failed: {0}")]
30    GenerationFailed(String),
31
32    #[error("Invalid credential prefix, expected 'ar-'")]
33    InvalidPrefix,
34
35    #[error("Empty credential ID")]
36    EmptyId,
37
38    #[error("Hex decode error: {0}")]
39    HexDecodeError(String),
40
41    #[error("Realm error: {0}")]
42    RealmError(#[from] RealmError),
43
44    #[error("manufacturer not verified or not registered")]
45    ManufacturerNotVerified,
46
47    #[error("actor package has been revoked")]
48    PackageRevoked,
49}