jwt_rustcrypto/
error.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
use serde_json as SerdeError;
use thiserror::Error;

#[derive(Error, Debug)]
pub enum Error {
    #[error("Invalid key format")]
    InvalidKeyFormat,
    #[error("Invalid Ecdsa key")]
    InvalidEcdsaKey,
    #[error("ASN1 decoder error")]
    RsaError(#[from] simple_asn1::ASN1DecodeErr),
    #[error("PEM parser error: {0}")]
    PemError(#[from] pem::PemError),
    #[error("Serde decode error")]
    SerdeEncodeDecodeError(#[from] SerdeError::Error),
    #[error("Base64 decode error")]
    Base64EncodeDecodeError(#[from] base64::DecodeError),
    #[error("Unsupported algorithm")]
    UnsupportedAlgorithm,
    #[error("Hmac invalid length")]
    HmacInvalidLength(#[from] hmac::digest::InvalidLength),
    #[error("UTF-8 conversion error: {0}")]
    Utf8Error(#[from] std::str::Utf8Error),
    #[error("PKCS8 error: {0}")]
    Pkcs8Error(#[from] rsa::pkcs8::Error),
    #[error("PKCS1 error: {0}")]
    Pkcs1Error(#[from] rsa::pkcs1::Error),
    #[error("RSA error: {0}")]
    InvalidRsaKeyType(String),
    #[error("ECDSA error: {0}")]
    InvalidEcdsaKeyType(#[from] ecdsa::Error),
    #[error("RSA error: {0}")]
    InvalidRsaKey(#[from] rsa::errors::Error),
    #[error("Pkcs8 Spki error: {0}")]
    Pkcs8SpkiError(#[from] k256::pkcs8::spki::Error),
    #[error("Expired signature")]
    ExpiredSignature,
    #[error("Immature signature")]
    ImmatureSignature,
    #[error("Invalid issuer")]
    InvalidIssuer,
    #[error("Invalid subject")]
    InvalidSubject,
    #[error("Invalid audience")]
    InvalidAudience,
    #[error("Invalid algorithm")]
    InvalidAlgorithm,
    #[error("Invalid signature")]
    InvalidSignature,
    #[error("Invalid claim: {0}")]
    InvalidClaim(String),
}