Skip to main content

easypdf_core/crypto/
crypto_error.rs

1//! PDF 加密与签名操作的错误类型。
2
3/// PDF 文档加密操作特有的错误。
4#[derive(Debug, thiserror::Error)]
5#[non_exhaustive]
6pub enum CryptoError {
7    /// AES 加密或解密失败。
8    #[error("AES error: {0}")]
9    Aes(String),
10
11    /// RSA 密钥操作失败。
12    #[error("RSA error: {0}")]
13    Rsa(String),
14
15    /// RSA 签名创建失败。
16    #[error("signature error: {0}")]
17    Signature(String),
18
19    /// RSA 签名验证失败。
20    #[error("verification error: {0}")]
21    Verification(String),
22
23    /// 输入不是本库生成的有效加密 PDF。
24    #[error("invalid encrypted PDF: {0}")]
25    InvalidEncryptedPdf(String),
26
27    /// 密码不正确。
28    #[error("invalid password: {0}")]
29    InvalidPassword(String),
30
31    /// 输入不是有效的签名 PDF 或签名格式错误。
32    #[error("invalid signed PDF: {0}")]
33    InvalidSignedPdf(String),
34
35    /// 无法解析私钥。
36    #[error("invalid key format: {0}")]
37    InvalidKey(String),
38
39    /// 无法解析证书。
40    #[error("invalid certificate: {0}")]
41    InvalidCertificate(String),
42
43    /// 发生了 I/O 错误。
44    #[error("I/O error: {0}")]
45    Io(#[from] std::io::Error),
46}