jwt_rustcrypto/
error.rs

1use serde_json as SerdeError;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum Error {
6    #[error("Invalid key format")]
7    InvalidKeyFormat,
8    #[error("Invalid Ecdsa key")]
9    InvalidEcdsaKey,
10    #[error("ASN1 decoder error")]
11    RsaError(#[from] simple_asn1::ASN1DecodeErr),
12    #[error("PEM parser error: {0}")]
13    PemError(#[from] pem::PemError),
14    #[error("Serde decode error")]
15    SerdeEncodeDecodeError(#[from] SerdeError::Error),
16    #[error("Base64 decode error")]
17    Base64EncodeDecodeError(#[from] base64::DecodeError),
18    #[error("Unsupported algorithm")]
19    UnsupportedAlgorithm,
20    #[error("Hmac invalid length")]
21    HmacInvalidLength(#[from] hmac::digest::InvalidLength),
22    #[error("UTF-8 conversion error: {0}")]
23    Utf8Error(#[from] std::str::Utf8Error),
24    #[error("PKCS8 error: {0}")]
25    Pkcs8Error(#[from] rsa::pkcs8::Error),
26    #[error("PKCS1 error: {0}")]
27    Pkcs1Error(#[from] rsa::pkcs1::Error),
28    #[error("RSA error: {0}")]
29    InvalidRsaKeyType(String),
30    #[error("ECDSA error: {0}")]
31    InvalidEcdsaKeyType(#[from] ecdsa::Error),
32    #[error("RSA error: {0}")]
33    InvalidRsaKey(#[from] rsa::errors::Error),
34    #[error("Pkcs8 Spki error: {0}")]
35    Pkcs8SpkiError(#[from] k256::pkcs8::spki::Error),
36    #[error("Expired signature")]
37    ExpiredSignature,
38    #[error("Immature signature")]
39    ImmatureSignature,
40    #[error("Invalid issuer")]
41    InvalidIssuer,
42    #[error("Invalid subject")]
43    InvalidSubject,
44    #[error("Invalid audience")]
45    InvalidAudience,
46    #[error("Invalid algorithm")]
47    InvalidAlgorithm,
48    #[error("Invalid signature")]
49    InvalidSignature,
50    #[error("Invalid claim: {0}")]
51    InvalidClaim(String),
52}