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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//! AdES (Advanced Electronic Signatures) for the eIDAS 2.0 ecosystem.
//!
//! ## Supported formats
//!
//! | Format | Level | Status |
//! |--------|-------|--------|
//! | CAdES | B-B | M1 — in development |
//! | PAdES | B-B | M2 — planned |
//!
//! ## RustCrypto compatibility
//!
//! The [`signer::Signer`] trait is designed to be compatible with
//! RustCrypto's `DigestSigner` pattern: only the pre-computed digest is
//! passed to the signing function, so the private key never needs to be
//! extracted from hardware tokens (DNIe, HSM, WebCrypto).
//!
//! ## Quick start
//!
//! ```no_run
//! use ades::cades;
//! use ades::signer::SoftSigner;
//!
//! let signer = SoftSigner::generate(2048).unwrap();
//! let signed = cades::sign(b"hello world", &signer).unwrap();
//! ```
/// X.509 certificate wrapper.
/// Shared CMS/PKCS#7 utilities (signature algorithm derivation).
pub
/// Digest algorithm abstractions.
/// Error types.
/// Signer trait and software backend.
/// CAdES (CMS Advanced Electronic Signatures).
/// PAdES (PDF Advanced Electronic Signatures).
/// TSP (Time-Stamp Protocol, RFC 3161) client.
/// OCSP (Online Certificate Status Protocol, RFC 6960) client.
/// AdES signature level upgrades (B-T, B-LT, B-LTA).
/// PKCS#11 signing backend (DNIe, smart cards, HSMs).
/// XAdES (XML Advanced Electronic Signatures).
/// JAdES (JSON Advanced Electronic Signatures).
pub use Certificate;
pub use DigestAlgorithm;
pub use AdesError;