This is a interoperability report for implementers for the Verifiable Credentials Data Model v2.0 specification.
Tests passed 481/679 70%
Tests failed 198/679 30%
Failures 198
Tests skipped 102
Total tests 781
These tests were run on
🚫
|
Pending |
✓
|
Passed |
❌
|
Failed |
⊘
|
Access Denied |
⏱
|
Timeout |
—
|
Not Implemented |
The results of the tests are shown below:
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
If present, the value of the id property MUST be a single URL, which MAY be dereferenceable. |
❌
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
If present, the value of the name property MUST be a string or a language value object as described in 11.1 Language and Base Direction. |
❌
|
✓
|
✓
|
❌
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
If present, the value of the description property MUST be a string or a language value object as described in 11.1 Language and Base Direction. |
❌
|
✓
|
✓
|
❌
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
If present (on `issuer`), the value of the name property MUST be a string or a language value object as described in 11.1 Language and Base Direction. |
❌
|
✓
|
✓
|
❌
|
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
If present (on `issuer`), the value of the description property MUST be a string or a language value object as described in 11.1 Language and Base Direction. |
❌
|
✓
|
✓
|
❌
|
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
A verifiable credential MUST have an issuer property. |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the issuer property MUST be either a URL or an object containing an id property whose value is a URL; in either case, the issuer selects this URL to identify itself in a globally unambiguous way. |
❌
|
❌
|
✓
|
❌
|
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
A verifiable credential MUST contain a credentialSubject property. |
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the credentialSubject property is a set of objects where each object MUST be the subject of one or more claims, which MUST be serialized inside the credentialSubject property. |
❌
|
❌
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
The type property is REQUIRED. |
✓
|
❌
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
The related normative guidance in Section 4.5 Types MUST be followed. |
❌
|
❌
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
If present (credentialStatus.id), the normative guidance in Section 4.4 Identifiers MUST be followed. |
❌
|
❌
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
(If a credentialStatus property is present), The type property is REQUIRED. It is used to express the type of status information expressed by the object. The related normative guidance in Section 4.5 Types MUST be followed. |
❌
|
❌
|
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
Credential status specifications MUST NOT enable tracking of individuals |
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine whether the provided data conforms to the provided schema(s). |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Each credentialSchema MUST specify its type (for example, JsonSchema), and an id property that MUST be a URL identifying the schema file. |
✓
|
❌
|
✓
|
❌
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
If multiple schemas are present, validity is determined according to the processing rules outlined by each associated type property |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
If [the `id` field is] present, the normative guidance in Section 4.4 Identifiers MUST be followed. |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
❌
|
The type property MUST be present. |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
❌
|
One value of this property MUST be VerifiablePresentation, but additional types MAY be included.The related normative guidance in Section 4.5 Types MUST be followed. |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
❌
|
The verifiableCredential property MAY be present. The value MUST beone or more verifiable credential and/or enveloped verifiable credential objects (the values MUST NOT be non-object values such as numbers, strings, or URLs). |
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
❌
|
If present (holder), the value MUST be either a URL or an object containing an id property. |
❌
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
❌
|
❌
|
✓
|
❌
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
A verifiable presentation that includes a self-asserted verifiable credential that is only secured using the same mechanism as the verifiable presentation MUST include a holder property. |
✓
|
✓
|
❌
|
❌
|
❌
|
❌
|
❌
|
✓
|
✓
|
❌
|
✓
|
When a self-asserted verifiable credential is secured using the same mechanism as the verifiable presentation, the value of the issuer property of the verifiable credential MUST be identical to the holder property of the verifiable presentation. |
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
The @context property of the object MUST be present and include a context, such as the base context for this specification, that defines at least the id, type, and EnvelopedVerifiableCredential terms as defined by the base context provided by this specification. |
🚫
|
🚫
|
🚫
|
❌
|
🚫
|
🚫
|
❌
|
🚫
|
🚫
|
🚫
|
🚫
|
The id value of the object MUST be a data: URL [RFC2397] that expresses a secured verifiable credential using an enveloping security scheme, such as Securing Verifiable Credentials using JOSE and COSE [VC-JOSE-COSE]. |
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
The type value of the object MUST be EnvelopedVerifiableCredential. |
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
🚫
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
The @context property of the object MUST be present and include a context, such as the base context for this specification, that defines at least the id, type, and EnvelopedVerifiablePresentation terms as defined by the base context provided by this specification. |
🚫
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
🚫
|
🚫
|
The id value of the object MUST be a data: URL [RFC2397] that expresses a secured verifiable presentation using an enveloping securing mechanism, such as Securing Verifiable Credentials using JOSE and COSE [VC-JOSE-COSE]. |
🚫
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
🚫
|
🚫
|
The type value of the object MUST be EnvelopedVerifiablePresentation. |
🚫
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
✓
|
🚫
|
🚫
|
🚫
|
🚫
|
Implementer ⇒
⇓Test Name
|
ACA-py | apicatalog.com | Aviary Tech | Digital Bazaar | Kataru Content VC | MakoLab | OpSecId | Procivis One Core | SpruceID | Trential | VC Issuer Mock |
---|---|---|---|---|---|---|---|---|---|---|---|
This section contains an algorithm that conforming verifier implementations MUST run when verifying a verifiable credential or a verifiable presentation. |
❌
|
❌
|
✓
|
✓
|
❌
|
❌
|
❌
|
❌
|
❌
|
✓
|
❌
|