The purpose of this test suite is to demonstrate a path to interoperability for the Ed25519 Signature 2020. The technologies explored in this test suite are experimental. This document contains the most recent interoperability report for Ed25519 Signature 2020. This report is auto-generated.
Tests passed 269/294 91%
Tests failed 25/294 9%
Failures 25
Tests skipped 0
Total tests 294
These tests were run on
The results of the tests are shown below:
Issuer ⇒
⇓Test Name
|
apicatalog.com | Danube Tech | Digital Bazaar | EWF | LearnCard | SpruceID | Trinsic |
---|---|---|---|---|---|---|---|
"proof" field MUST exist and MUST be either a single object or an unordered set of objects. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
if "proof.id" field exists, it MUST be a valid URL. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
"proof.type" field MUST exist and be a string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
"proof.type" field MUST be "Ed25519Signature2020" and the associated document MUST include expected contexts. |
✓
|
✓
|
✓
|
❌
|
❌
|
❌
|
✓
|
if "proof.created" field exists, it MUST be a valid XMLSCHEMA-11 dateTimeStamp value. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
if "proof.expires" field exists, it MUST be a valid XMLSCHEMA-11 dateTimeStamp value. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
"proof.verificationMethod" field MUST exist and be a valid URL. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
"proof.proofPurpose" field MUST exist and be a string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
"proof.proofValue" field MUST exist and be a string. |
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
The contents of the value ("proof.proofValue") MUST be expressed with a header and encoding as described in Section 2.4 Multibase. |
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
if "proof.domain" field exists, it MUST be either a string, or an unordered set of strings. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
if "proof.challenge" field exists, it MUST be a string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
if "proof.previousProof" field exists, it MUST be a string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
if "proof.nonce" field exists, it MUST be a string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Issuer ⇒
⇓Test Name
|
apicatalog.com | Danube Tech | Digital Bazaar | EWF | LearnCard | SpruceID | Trinsic |
---|---|---|---|---|---|---|---|
"proofValue" field when decoded to raw bytes, MUST be 64 bytes in length if the associated public key is 32 bytes or 114 bytes in length if the public key is 57 bytes. |
✓
|
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
"proof" MUST verify when using a conformant verifier. |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Verifier ⇒
⇓Test Name
|
apicatalog.com | Danube Tech | Digital Bazaar | EWF | LearnCard | SpruceID | Trinsic |
---|---|---|---|---|---|---|---|
If the "proof" field is missing, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof" field is invalid, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.type" field is missing, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.type" field is not the string "Ed25519Signature2020", an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.verificationMethod" field is missing, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.verificationMethod" field is invalid, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofPurpose" field is missing, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofPurpose" field is invalid, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofPurpose" value does not match "options.expectedProofPurpose", an error MUST be raised. |
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofValue" field is missing, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofValue" field is invalid, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proof.created" field is invalid, an error MUST be raised. |
✓
|
✓
|
❌
|
✓
|
✓
|
✓
|
✓
|
If the "proof.proofValue" field is not multibase-encoded, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "options.domain" is set and it does not match "proof.domain", an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "options.challenge" is set and it does not match "proof.challenge", an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Verifier ⇒
⇓Test Name
|
apicatalog.com | Danube Tech | Digital Bazaar | EWF | LearnCard | SpruceID | Trinsic |
---|---|---|---|---|---|---|---|
MUST verify a valid VC with an Ed25519Signature2020 proof |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the "proofValue" field, when decoded to raw bytes, is not 64 bytes in length if the associated public key is 32 bytes in length, or 114 bytes in length if the public key is 57 bytes in length, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If a canonicalization algorithm other than URDNA2015 is used, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If a canonicalization data hashing algorithm SHA-2-256 is used, an error MUST be raised. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Verifier ⇒
⇓Issuer
|
apicatalog.com | Danube Tech | Digital Bazaar | EWF | LearnCard | SpruceID | Trinsic |
---|---|---|---|---|---|---|---|
apicatalog.com |
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
❌
|
Danube Tech |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Digital Bazaar |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
EWF |
❌
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
|
LearnCard |
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
SpruceID |
✓
|
❌
|
❌
|
✓
|
✓
|
✓
|
✓
|
Trinsic |
✓
|
✓
|
✓
|
❌
|
❌
|
❌
|
✓
|