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
//! W3C Verifiable Credentials for DPP access control.
//!
//! This module implements VC issuance and verification following the
//! W3C Verifiable Credentials Data Model v2.0 specification, adapted
//! to the EU Digital Product Passport audience model.
//!
//! ## Audiences
//!
//! Reg. (EU) 2023/1542 Art. 77(2) names three audiences, and the credential
//! establishes which one a caller belongs to:
//! - **Public**: no credential required.
//! - **LegitimateInterest**: a VC proving the holder's role (repairer,
//! remanufacturer, second-life operator, recycler).
//! - **Authority**: an institutional DID (notified body, market surveillance
//! authority, customs, the Commission).
//!
//! These do not form a ranking. An `Authority` sees conformity test reports
//! that a `LegitimateInterest` holder does not, and a `LegitimateInterest`
//! holder sees individual-item data that an `Authority` does not. See
//! [`Audience::may_see`](dpp_domain::Audience::may_see).
//!
//! ## Credential lifecycle
//!
//! 1. An authority issues a `DppAccessCredential` to an operator.
//! 2. The credential is signed as a JWS using the issuer's Ed25519 key.
//! 3. When requesting professional/confidential data, the holder presents the VC.
//! 4. The verifier checks the JWS, expiration, revocation status, and scope.
pub use CredentialBuilder;
pub use ;
pub use ;
pub use ;
pub use ;