Skip to content

Validation: Foundation - #569

Open
nodh wants to merge 6 commits into
feature/http-exchangesfrom
feature/validation-reports-1-foundation
Open

nodh wants to merge 6 commits into
feature/http-exchangesfrom
feature/validation-reports-1-foundation

Conversation

@nodh

@nodh nodh commented Oct 14, 2026

Copy link
Copy Markdown
Member

Implements the groundwork to use a-sit-plus/vck#716 in Valera. Written by Claude under close supervision.

nodh added 6 commits October 13, 2026 20:57
…fiers

Reports are created under a strict policy, so that they show every problem; a lenient policy only requires the
integrity of an artifact, e.g. to store a credential the user decided to keep.

Verifiers of VC-K return a sealed AuthnResponseResult, and reject presentations of untrusted issuers by default, so
the test verifiers use the lenient policy for credentials issued by ephemeral keys.
Map a ValidationReport to a serializable model with findings the user can understand, e.g. an untrusted signer,
an expired certificate, a revoked status, or unregistered requests, and show it as a banner with the most important
problems and a tree of every check.

Which unsatisfied checks the user may continue past is decided by name, following the naming conventions of VC-K:
trust, the validity period of the artifact, its status, and the registration of a relying party (linkage,
requestAuthorization). Every other check blocks, including checks VC-K adds later.
Registration certificate providers are not published as a List of Trusted Entities, so their root certificates
come from a bundled PEM file and from a PEM bundle at a URL configurable in the settings, persisted like trust
lists.
Configure the validators of VC-K in the session: credentials are trusted per type through their List of Trusted
Entities, relying parties and credential issuers through the WRPAC providers and the WRPRC anchors. HolderAgent
takes the CredentialValidator, as its former validators no longer take effect, and issued credentials are stored
if their integrity is intact, as before.
A report failing its integrity names the first check the user may not continue past, depth-first, with its cause,
as rejection names the first unsatisfied check, which may be one the user may continue past, e.g. the trust in an
issuer, and so hide the check that actually rejects the artifact. Describe every problem of a report for logs.
VC-K reports the WRPRCs a relying party transports, and the registration information of a credential issuer, in a
check named registration, which the user may continue past like linkage and requestAuthorization. A missing WRPRC is
shown as missing registration information.
@nodh
nodh requested review from JesusMcCloud and md4096 October 14, 2026 09:33
@nodh nodh self-assigned this Oct 14, 2026
@nodh
nodh added this pull request to stack #567 October 14, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant