Skip to content

test: third-party OpenID4VP vp_token interop vector (capture from the EUDI RI wallet+verifier pair) #121

Description

@luisgf

Split out of #115 (2026-07-16 sourcing review). Two of #115's three checkboxes (a third-party SD-JWT VC and the W3C Bitstring decode vector) are actionable and land there; this issue tracks the remaining one, which is blocked on the ecosystem publishing a static artifact.

Why

verify_vp_token's e2e vector is self-recorded: openvc builds the vp_token it then verifies. A vp_token produced by another implementation would pin real interop of the presentation layer (DCQL response shape, KB-JWT binding, credential-format nesting), not just of the inner credential.

What exists today (checked 2026-07-16)

  • OpenID4VP 1.0 (Final, 2025-07-09) elides every example token — §8.1.1 shows "eyJhb...YMetA"; there is no complete base64 credential string nor any example key material in the whole document (checked mechanically).
  • The OIDF conformance suite (certification.openid.net) is a live, interactive harness — self-certification for OID4VP 1.0 / OID4VCI 1.0 / HAIP 1.0 opened 2026-02-26 — and publishes no downloadable vectors.
  • The EUDI reference implementation commits no complete vp_token response (the verifier README's example is a dummy; the Postman collection carries none). Its dev verifier (verifier.eudiw.dev) produces real vp_tokens only interactively.
  • Constituent pieces do exist (the EUDI PID SD-JWT VC + its holder key, vendored via test: third-party interop vectors (SD-JWT VC, OpenID4VP, W3C Bitstring) #115) — but a vp_token we assemble ourselves from them is our presentation-layer output, not a third-party artifact, so it does not close this gap.

Scope (when unblocked)

  • Vendor an externally-produced OpenID4VP 1.0 vp_token (with enough published key material to verify offline) under tests/fixtures/, with provenance + retrieval date in the fixture README.
  • Verify it end to end through verify_vp_token (positive), plus a tamper negative.

Gate / unblock conditions (any of)

  • The OIDF conformance suite (or the OpenID4VP spec repo) publishes static test vectors with keys.
  • The EUDI reference implementation commits a complete example vp_token response with verifiable keys.
  • Another serious implementation (wallet or verifier) publishes a static, signed, verifiable vp_token artifact.

Invariants: offline & deterministic test suite; tests/ is not a package. Feeds the external-audit (#75) conformance-evidence story, same as #115.

Metadata

Metadata

Assignees

No one assigned

    Labels

    eudiEUDI / EBSI ecosystem interophardeningAssurance: fuzzing, negative corpus, threat modelspec-conformanceStandards coverage / conformance vectors

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions