Core Verifier Settings
Theverifier section configures the core functionality of the VCVerifier.
Identity Configuration
Decentralized Identifier (DID) to be used by the verifier. This is the verifier’s identity in the SIOP-2/OIDC4VP flow.
Client Identification
ForbyReference and byValue request modes, configure how the verifier identifies itself:
Identification used when requesting authorization. Can be a DID or other methods like
x509_san_dns.Path to the signing key in PEM format for request objects. Must correspond with the configured
id.Algorithm to be used for signing the request. Must match the signing key type (e.g.,
RS256, ES256).Path to the certificate chain to include in the request object. Required when using
x509_san_dns identification.Key ID to use when the certificate doesn’t include one. If both certificate and kid are missing, the
id is used.Request Modes
Supported modes for requesting authentication. Multiple modes can be enabled simultaneously.Available modes:
urlEncoded- Parameters passed directly in the URLbyValue- Request object passed as a signed JWT valuebyReference- Request object passed by reference URL
For
byReference and byValue modes, the clientIdentification section must be properly configured with signing keys.Request Mode Details
Request Mode Details
urlEncoded: Simple mode where all parameters are in the URL. Suitable for testing but can create large QR codes.byValue: Request parameters are encoded as a signed JWT and passed in the URL. More secure but still creates large QR codes.byReference: Request object is hosted by the verifier and referenced by URL. Recommended for production as it creates smaller QR codes.
Trust and Validation
Address of the EBSI-compliant Trusted Issuers Registry for verifying credential issuers.
Expiry time in seconds for Trusted Issuers Registry cache entries.
Expiry time in seconds for Trusted Issuers List cache entries.
Validation mode for credential content validation (not verification).Available modes:
none- No validation, accept all credentialscombined- JSON-LD and schema validationjsonLd- JSON-LD parser validationbaseContext- Validates only expected fields are present
Session Configuration
Expiry time in seconds for authentication sessions. After this time, a new flow must be initiated.
Default scope (credential type) to request from the wallet if not configured per-service.
Key Configuration
Algorithm for JWT signature generation. Supported values:
RS256- RSA with SHA-256ES256- ECDSA with SHA-256
When
true, generates a private key on startup. The key is kept in memory and not persisted.Set to false to use a key from keyPath instead.Path to the private key in PEM format for JWT signatures. Only used when
generateKey: false.Expiration time in minutes for generated JWT tokens.
Key Management Best Practices
Key Management Best Practices
For development and testing:
- Use
generateKey: truefor quick setup - Keys are regenerated on each restart
- Set
generateKey: false - Provide a persistent key via
keyPath - Store keys securely (e.g., Kubernetes secrets, HashiCorp Vault)
- Rotate keys periodically
- Use
ES256for better performance and smaller signatures
Authorization Endpoint
Path of the authorization endpoint to be provided in the
.well-known/openid-configuration response.Complete Example
M2M Configuration
For Machine-to-Machine authentication scenarios:Enable authentication for M2M interactions.
Path to the signing key in PEM format for M2M authentication.
Path to the credential to be used for M2M authentication.
Client ID of the verifier when retrieving M2M tokens.
Verification method for the linked data proof.
Signature type for the linked data proof.
Type of the provided M2M key.
ELSI Support
For did:elsi support with JAdES signatures:Enable support for did:elsi identifiers.
Host of the validation service for JAdES signatures.
Path to the signature validation endpoint.
Path to the health check endpoint of the validation service.
Next Steps
Credentials Configuration
Configure trust anchors and credential scopes
Server Configuration
Configure HTTP server and logging