This is a interoperability report for implementers for the Verifiable Credentials Data Model v2.0 specification.
Tests passed 133/156 85%
Tests failed 23/156 15%
Failures 23
Tests skipped 52
Total tests 208
These tests were run on
The results of the tests are shown below:
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
verifiers MUST produce errors when non-conforming documents are detected. |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
Verifiable credentials MUST include a @context property. |
✓
|
✓
|
✓
|
✓
|
Verifiable presentations MUST include a @context property. |
✓
|
✓
|
✓
|
✓
|
Verifiable credentials: The value of the @context property MUST be an ordered set where the first item is a URL with the value https://www.w3.org/ns/credentials/v2. |
✓
|
✓
|
✓
|
✓
|
Verifiable presentations: The value of the @context property MUST be an ordered set where the first item is a URL with the value https://www.w3.org/ns/credentials/v2. |
✓
|
✓
|
✓
|
✓
|
Verifiable credential @context: "Subsequent items in the ordered set MUST be composed of any combination of URLs and/or objects where each is processable as a JSON-LD Context." |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
If present, the value of the id property MUST be a single URL, which MAY be dereferenceable. |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
Verifiable credentials MUST contain a type property with an associated value. |
✓
|
✓
|
✓
|
✓
|
Verifiable presentations MUST contain a type property with an associated value. |
✓
|
✓
|
✓
|
✓
|
The value of the type property MUST be one or more terms and/or absolute URL strings. |
❌
|
✓
|
❌
|
✓
|
If more than one (type) value is provided, the order does not matter. |
✓
|
✓
|
✓
|
✓
|
VerifiableCredential, VerifiablePresentation, credentialStatus, termsOfUse, refreshService, credentialSchema, and evidence are "objects that MUST have a type specified." |
❌
|
❌
|
❌
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
A verifiable credential MUST have a credentialSubject property. |
✓
|
✓
|
✓
|
✓
|
The value of the credentialSubject property is defined as 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
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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. |
❌
|
❌
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
If present, the value of the validFrom property MUST be an [XMLSCHEMA11-2] dateTimeStamp string value representing the date and time the credential becomes valid, which could be a date and time in the future or in the past. |
✓
|
✓
|
✓
|
✓
|
If present, the value of the validUntil property MUST be an [XMLSCHEMA11-2] dateTimeStamp string value representing the date and time the credential ceases to be valid, which could be a date and time in the past or in the future. |
❌
|
✓
|
✓
|
✓
|
If a validUntil value also exists, the validFrom value MUST express a datetime that is temporally the same or earlier than the datetime expressed by the validUntil value. |
✓
|
✓
|
✓
|
✓
|
If a validFrom value also exists, the validUntil value MUST express a datetime that is temporally the same or later than the datetime expressed by the validFrom value. |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
A conforming document MUST be secured by at least one securing mechanism as described in Section 4.9 Securing Mechanisms. |
✓
|
✓
|
✓
|
✓
|
A conforming issuer implementation produces conforming documents, MUST include all required properties in the conforming documents that it produces, and MUST secure the conforming documents it produces using a securing mechanism as described in Section 4.9 Securing Mechanisms. |
✓
|
✓
|
✓
|
✓
|
A conforming verifier implementation consumes conforming documents, MUST perform verification on a conforming document as described in Section 4.9 Securing Mechanisms, MUST check that each required property satisfies the normative requirements for that property, and MUST produce errors when non-conforming documents are detected. |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
If present (credentialStatus.id), the normative guidance in Section 4.3 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.4 Types MUST be followed. |
❌
|
✓
|
❌
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
If [the `id` field is] present, the normative guidance in Section 4.3 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.4 Types MUST be followed. |
🚫
|
🚫
|
🚫
|
🚫
|
The verifiableCredential property MAY be present. The value MUST be one or more verifiable credential and/or enveloped verifiable credential objects (to be clear, the values MUST NOT be non-object values such as numbers, strings, or URLs). |
❌
|
✓
|
❌
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
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 credentialSchema type property. |
✓
|
✓
|
✓
|
✓
|
Implementer ⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Open Security and Identity | SpruceID |
---|---|---|---|---|
JSON-LD-based processors MUST produce an error when a JSON-LD context redefines any term in the active context. |
✓
|
✓
|
✓
|
✓
|
The value of the refreshService property MUST be one or more refresh services that provides enough information to the recipient's software such that the recipient can refresh the verifiable credential. |
✓
|
✓
|
✓
|
✓
|
Each refreshService value MUST specify its type. |
❌
|
❌
|
✓
|
✓
|
The value of the termsOfUse property MUST specify one or more terms of use policies under which the creator issued the credential or presentation. |
✓
|
✓
|
✓
|
✓
|
Each termsOfUse value MUST specify its type, for example, IssuerPolicy, and MAY specify its instance id. |
❌
|
✓
|
✓
|
✓
|
The value of the evidence property MUST be one or more evidence schemes providing enough information for a verifier to determine whether the evidence gathered by the issuer meets its confidence requirements for relying on the credential. |
✓
|
✓
|
✓
|
✓
|