Certificates
EUDIPLO manages certificates for signing credentials, authorizing wallet access, and establishing trust. Certificates are always bound to key chains and can be self-signed, CA-issued, or imported from external systems.
Certificate Types
Self-Signed Certificates
Generated by EUDIPLO for development and testing. These certificates are not trusted by production wallets but are useful for:
- Local development
- Integration testing
- Sandbox environments
Self-signed certificates are created automatically when generating a new key chain.
CA-Issued Certificates
Signed by a trusted Certificate Authority (CA). Required for production deployments where credentials must be accepted by production wallets.
To use CA-issued certificates:
- Generate a key chain in EUDIPLO
- Export the Certificate Signing Request (CSR)
- Submit the CSR to your CA
- Import the CA-signed certificate back into the key chain
Imported Certificates
Bring existing certificates from external PKI systems. Useful when:
- Migrating from another credential system
- Using certificates from corporate PKI
- Integrating with existing key management infrastructure
Imported certificates must include both the certificate and private key material (for database-backed keys) or reference existing keys (for Vault/AWS KMS).
Access Certificates vs Attestation Certificates
EUDIPLO uses certificates for different purposes:
| Type | Purpose | Obtained From |
|---|---|---|
| Access Certificate | Grants access to EUDI Wallet | Registrar |
| Attestation Certificate | Signs verifiable credentials | Self-signed or CA |
| Status Certificate | Signs credential status lists | Self-signed or CA |
| Trust List Certificate | Signs trust list publications | Self-signed or CA |
Certificate Chains
For CA-issued certificates, EUDIPLO supports certificate chains:
- Leaf certificate — The end-entity certificate used for signing
- Intermediate certificates — CA certificates in the chain
- Root CA certificate — The trust anchor
When importing or creating certificates, EUDIPLO validates the entire chain to ensure proper trust establishment.
Certificate Lifecycle
- Creation — Generate a new key chain with self-signed cert or import existing
- Active Use — Certificate is used for signing operations
- Near Expiry — Rotation policy triggers new certificate generation
- Grace Period — Both old and new certificates are valid
- Retirement — Old certificate expires and is archived
Working with Registrar Certificates
Access certificates for EUDI Wallets are obtained from a registrar service. See Registrar for the complete workflow.
Registration certificates authorize credential requests and are managed separately. See Registration Certificates for details.
Certificate Storage
Certificates are stored within key chains in the database. Private key material is stored according to the selected KMS provider:
- Database provider — Encrypted private keys in database
- Vault/AWS KMS — Private keys never leave the KMS
- PKCS#11 (HSM) — Private keys protected by hardware
See KMS Configuration for detailed security considerations.
Related Topics
- Key Chains — Unified key and certificate management
- Registrar — Obtaining access certificates
- Trust Lists — Publishing trusted issuer certificates