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
//! RFC 3161 timestamp client.
//!
//! Provides a TSA (Time Stamping Authority) client for obtaining
//! RFC 3161 timestamp tokens, used for AdES B-T and higher profiles.
//!
//! # Architecture
//!
//! - [`TsaClient`] — Single TSA endpoint client with configurable digest algorithm,
//! policy OID, and timeout
//! - [`TsaClientPool`] — Fallback chain of multiple TSA clients for resilience
//! - [`token`] — Low-level TimeStampReq/Resp ASN.1 building and parsing
//!
//! # Example
//!
//! ```no_run
//! use tsp_ltv::tsp::{TsaClient, TsaClientPool};
//!
//! # async fn example() -> Result<(), tsp_ltv::error::TspError> {
//! // Single TSA
//! let client = TsaClient::new("http://timestamp.digicert.com")?;
//! let hash = vec![0u8; 32]; // SHA-256 hash of signature value
//! let token = client.timestamp(&hash).await?;
//!
//! // Multiple TSAs with fallback
//! let pool = TsaClientPool::from_urls(&[
//! "http://timestamp.digicert.com",
//! "http://timestamp.globalsign.com/tsa/r6advanced1",
//! ])?;
//! let token = pool.timestamp(&hash).await?;
//! # Ok(())
//! # }
//! ```
// Re-exports
pub use ;
pub use ;