Skip to content

Test Vectors - Verifiable Credentials #168

@thereisnogabe

Description

@thereisnogabe

This issue outlines gaps in testing of Verifiable Credentials and associated specs (JSON Schema, Status List, Verifiable Presentations). Tasks may have partial test coverage today (linked if true). If sufficient test coverage already exists, please close the task and link the relevant test.

Tasks may need discussion on the best way to approach them. The goal is to create a set of language agnostic test vectors that give us sufficient confidence in maintaining interoperability of features between implementations.

https://tbd54566975.github.io/web5-spec/#verifiable-credentials-vcs
https://tbd54566975.github.io/web5-spec/#verifiable-credentials-v11-data-model
https://tbd54566975.github.io/web5-spec/#verifiable-presentation-v11-data-model

W3C Verifiable Credentials v1.1

  • VCDM v1.1 Verifiable Credentials support the full data model today's tests

  • VCDM v1.1 Sign and Verify VCs using VC-JWT today's tests

    • Valid issuer (able to resolve DID, retrieve verification method)
    • Invalid issuer (unable to resolve DID, unable to retrieve verification method)
    • Transform to/from VC Data Model and VC-JWT Representation
  • VCDM v1.1 Validate Verifiable Credentials today's tests

    • Valid, expired, issued at in future
    • Conforms to Credential Schema(s) if present
    • Available/unresolvable schema/schema available but incorrect
    • Schema validity cases (multiple schemas, one valid, none valid, all valid)
    • Status validity cases (valid status(es) (e.g. not revoked) if present, multiple statuses)
    • Able to resolve status, unable to resolve status

W3C Verifiable Presentations v1.1

  • VCDM v1.1 Verifiable Presentations support the full data model

  • VCDM v1.1 Sign and Verify VPs using VP-JWT

    • Validation of signatures on embedded VCs
    • Valid issuers (able to resolve DID, retrieve verification method)
    • Invalid issuers (unable to resolve DID, unable to retrieve verification method)
    • Is the presenter authorized to present these credentials (i.e. same DID)?
    • Transform to/from VC Data Model and VC-JWT Representation
  • VCDM v1.1 Validate Verifiable Presentations

    • Correct audience
    • Valid, expired, issued in future
    • Validation of content in embedded VCs (are they signed? are they verifiable? both VPs and VCs could be contained)
    • Conforms to credential schema(s) if present (available schema, missing schema, incorrect schema)

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingrelated to new or existing testsvcrelated to verifiable credentials

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions