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
//! AS4 inbound verification, called by `As4::inbound` (`super::inbound`).
//!
//! The order is fixed: [`authenticate_inbound`] (bounded parse, sender
//! authorization, `SignatureValue` and same-document digests, `eb:To`), then
//! the caller's revocation check of the signer path, then [`open_inbound`]
//! (freshness, payload set = `eb:PartInfo`, envelope, decryption, `cid:`
//! digests over the decrypted bytes, decompression). No key is used before
//! the signature verified; the dedup claim is taken by the caller afterwards.
//!
//! | Module | Role |
//! |--------|------|
//! | `metadata` | Parse the envelope and verify its WS-Security header |
//! | `processing` | `authenticate_inbound` and `open_inbound` |
//! | `payload` | Declared parts, part properties, restored types, decompression |
//! | `verifier` | `As4Verifier`, `As4WsSecVerifier`, attachment-coverage checks |
//!
//! ebMS3 Part 2 split/join and conversation ordering are not supported.
use crateResult;
pub use ;
pub use ;
/// Who may sign as the claimed sender.
pub
/// Resolves the claimed sender (unauthenticated `eb:From`) to the rule its
/// signature must satisfy. Refusing here refuses before any signature work.
pub