CARVIEW |
Select Language
HTTP/2 200
server: GitHub.com
content-type: text/html; charset=utf-8
last-modified: Sun, 13 Jul 2025 05:13:34 GMT
access-control-allow-origin: *
strict-transport-security: max-age=31556952
etag: W/"6873407e-83bc3"
expires: Tue, 15 Jul 2025 18:19:52 GMT
cache-control: max-age=600
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: 0A28:9CCED:18413:18F48:6876996F
accept-ranges: bytes
age: 0
date: Tue, 15 Jul 2025 18:09:52 GMT
via: 1.1 varnish
x-served-by: cache-bom4734-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1752602992.019824,VS0,VE335
vary: Accept-Encoding
x-fastly-request-id: 66b01070ab4ebf705ae79785a656503fd43fbb5e
content-length: 23987
Data Integrity ECDSA Cryptosuites Interoperability Report
The purpose of this test suite is to demonstrate a path to interoperability for the ECDSA data integrity cryptosuites. The technologies explored in this test suite are experimental. This document contains the most recent interoperability report for a DataIntegrityProof using the `ecdsa-rdfc-2019`, `ecdsa-jcs-2019`, or `ecdsa-sd-2023` cryptosuites. This report is auto-generated.
Conformance Testing Results
These tests were run on
Key
🚫
|
Pending |
✓
|
Passed |
❌
|
Failed |
⊘
|
Access Denied |
⏱
|
Timeout |
—
|
Not Implemented |
The results of the tests are shown below:
Data Integrity (ecdsa-rdfc-2019 issuers)
Issuer ⇒
⇓Test Name
|
apicatalog.com: P-256 | apicatalog.com: P-384 | Digital Bazaar: P-256 | Digital Bazaar: P-384 | Gen Digital: P-384 | Grotto Networking: P-256 | MakoLab: P-256 | Procivis One Core: P-256 | SpruceID: P-256 | SpruceID: P-384 | Trential: P-256 | Trential: P-384 | bovine: P-256 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When expressing a data integrity proof on an object, a proof property MUST be used. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If present (proof), its value MUST be either a single object, or an unordered set of objects. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.id") An optional identifier for the proof, which MUST be a URL. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The specific type of proof MUST be specified as a string that maps to a URL. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
❌
Expected "@type" URL to be parsed.: expected TypeError: Invalid URL { …(2) } to not existAssertionError: Expected "@type" URL to be parsed.: expected TypeError: Invalid URL { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldBeUrl (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:198:14) at file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:82:30 at Array.every (<anonymous>) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:82:17) |
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST contain the string DataIntegrityProof. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The proofValue property MUST be used, as specified in 2.1 Proofs. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the proof type is DataIntegrityProof, cryptosuite MUST be specified; otherwise, cryptosuite MAY be specified. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If specified (proof.cryptosuite), its value MUST be a string. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
A verification method is the means and information needed to verify the proof. If included, the value MUST be a string that maps to a [URL]. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
❌
Expected property "https://w3id.org/security#verificationMethod" to exist.: expected undefined to existAssertionError: Expected property "https://w3id.org/security#verificationMethod" to exist.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldMapToUrl (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:216:12) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:174:9) |
✓
|
✓
|
✓
|
✓
|
✓
|
The reason the proof was created ("proof.proofPurpose") MUST be specified as a string that maps to a URL. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
❌
Expected property "https://w3id.org/security#proofPurpose" to exist.: expected undefined to existAssertionError: Expected property "https://w3id.org/security#proofPurpose" to exist.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldMapToUrl (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:216:12) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:191:9) |
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.proofValue") A string value that expresses base-encoded binary data necessary to verify the digital proof using the verificationMethod specified. The value MUST use a header and encoding as described in Section 2.4 Multibase of the Controller Documents 1.0 specification to express the binary data. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Cryptographic suite designers MUST use mandatory proof value properties defined in Section 2.1 Proofs, and MAY define other properties specific to their cryptographic suite. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementations that use JSON-LD processing, such as RDF Dataset Canonicalization [RDF-CANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSON-LD processor, such as when an undefined term is detected in an input document. |
❌
Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': 'f0cdc0645ce1ed6b67c6c217526a004b', date: 'Sun, 13 Jul 2025 05:08:17 GMT', server: 'Google Frontend', 'content-length': '796', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': 'f0cdc0645ce1ed6b67c6c217526a004b', date: 'Sun, 13 Jul 2025 05:08:17 GMT', server: 'Google Frontend', 'content-length': '796', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:235:7) |
❌
Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '03a9603df051045667c6c217526a0761', date: 'Sun, 13 Jul 2025 05:08:17 GMT', server: 'Google Frontend', 'content-length': '796', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '03a9603df051045667c6c217526a0761', date: 'Sun, 13 Jul 2025 05:08:17 GMT', server: 'Google Frontend', 'content-length': '796', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:235:7) |
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
Expected issuer to error when VC has an undefined type.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:08:30 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'gzip', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has an undefined type.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:08:30 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'gzip', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:235:7) |
If the algorithm produces an error, the error MUST be propagated and SHOULD convey the error type. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
❌
Expected issuer to error when VC has no credentialSubject.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:08:31 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'gzip', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has no credentialSubject.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:08:31 GMT', 'content-type': 'application/json', 'transfer-encoding': 'chunked', connection: 'keep-alive', 'content-encoding': 'gzip', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:255:7) |
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. If the processing environment supports subtypes of string, the type of the cryptosuite value MUST be the https://w3id.org/security#cryptosuiteString subtype of string. |
✓
|
✓
|
🚫
Test skipped.
|
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
✓
|
❌
Expected property https://w3id.org/security#cryptosuite to exist.: expected undefined to existAssertionError: Expected property https://w3id.org/security#cryptosuite to exist.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:293:20) |
✓
|
✓
|
✓
|
✓
|
✓
|
Data Integrity (ecdsa-rdfc-2019 verifiers) VC 1.1
Verifier ⇒
⇓Test Name
|
apicatalog.com: P-256 | Digital Bazaar: P-256 | Grotto Networking: P-256 | MakoLab: P-256 | Netis: P-256 | Procivis One Core: P-256 | SpruceID: P-256 | Trential: P-256 | bovine: P-256 |
---|---|---|---|---|---|---|---|---|---|
When deserializing to RDF, implementations MUST ensure that the base URL is set to null. |
✓
|
✓
|
✓
|
✓
|
❌
Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:08:44 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:08:44 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:39:7) |
✓
|
✓
|
✓
|
✓
|
Conforming processors MUST produce errors when non-conforming documents are consumed. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If either securedDocument is not a map or securedDocument.proof is not a map, an error MUST be raised and SHOULD convey an error type of PARSING_ERROR. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If one or more of proof.type, proof.verificationMethod, and proof.proofPurpose does not exist, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST contain the string DataIntegrityProof. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If expectedProofPurpose was given, and it does not match proof.proofPurpose, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The proofValue property MUST be used, as specified in 2.1 Proofs. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.proofValue") A string value that contains the base-encoded binary data necessary to verify the digital proof using the verificationMethod specified. The contents of the value MUST be expressed with a header and encoding as described in Section 2.4 Multibase of the Controller Documents 1.0 specification. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementations that use JSON-LD processing, such as RDF Dataset Canonicalization [RDF-CANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSON-LD processor, such as when an undefined term is detected in an input document. |
❌
Should fail to verify VC if an undefined type is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '69b048db3638b7f8739916199b4d000f', date: 'Sun, 13 Jul 2025 05:08:40 GMT', server: 'Google Frontend', 'content-length': '271', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should fail to verify VC if an undefined type is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '69b048db3638b7f8739916199b4d000f', date: 'Sun, 13 Jul 2025 05:08:40 GMT', server: 'Google Frontend', 'content-length': '271', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:180:7) |
✓
|
✓
|
✓
|
❌
Should fail to verify VC when data is dropped by JSON-LD: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:08:45 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should fail to verify VC when data is dropped by JSON-LD: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:08:45 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:165:7) |
✓
|
✓
|
✓
|
❌
Should fail to verify VC if an undefined term is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:09:04 GMT', 'content-type': 'text/html; charset=utf-8', 'content-length': '0', connection: 'keep-alive', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should fail to verify VC if an undefined term is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { server: 'nginx/1.18.0 (Ubuntu)', date: 'Sun, 13 Jul 2025 05:09:04 GMT', 'content-type': 'text/html; charset=utf-8', 'content-length': '0', connection: 'keep-alive', Authorization: 'sanitized to prevent exposure of secrets' }, body: null, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:172:7) |
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. If the processing environment supports subtypes of string, the type of the cryptosuite value MUST be the https://w3id.org/security#cryptosuiteString subtype of string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Data Integrity (ecdsa-rdfc-2019 verifiers) VC 2.0
Verifier ⇒
⇓Test Name
|
apicatalog.com: P-256 | CredenceID: P-256 | Digital Bazaar: P-256 | Gen Digital: P-256 | Grotto Networking: P-256 | MakoLab: P-256 | Netis: P-256 | Procivis One Core: P-256 | SpruceID: P-256 | Trential: P-256 |
---|---|---|---|---|---|---|---|---|---|---|
When deserializing to RDF, implementations MUST ensure that the base URL is set to null. |
✓
|
✓
|
✓
|
❌
Should not verify VC with invalid base URL: expected undefined to existAssertionError: Should not verify VC with invalid base URL: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:39:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Conforming processors MUST produce errors when non-conforming documents are consumed. |
✓
|
✓
|
✓
|
❌
Should not verify VC with invalid "proof.type": expected undefined to existAssertionError: Should not verify VC with invalid "proof.type": expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:51:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If either securedDocument is not a map or securedDocument.proof is not a map, an error MUST be raised and SHOULD convey an error type of PARSING_ERROR. |
✓
|
✓
|
✓
|
❌
MUST not verify VC with proof that is not a map.: expected undefined to existAssertionError: MUST not verify VC with proof that is not a map.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:63:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If one or more of proof.type, proof.verificationMethod, and proof.proofPurpose does not exist, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR |
✓
|
✓
|
✓
|
❌
MUST not verify VC w/o a proof: expected undefined to existAssertionError: MUST not verify VC w/o a proof: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:82:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST contain the string DataIntegrityProof. |
✓
|
✓
|
✓
|
❌
Should not verify VC with invalid "proof.type": expected undefined to existAssertionError: Should not verify VC with invalid "proof.type": expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:113:11) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If expectedProofPurpose was given, and it does not match proof.proofPurpose, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR. |
✓
|
✓
|
✓
|
❌
Verifier should reject VC with invalid proof purpose.: expected undefined to existAssertionError: Verifier should reject VC with invalid proof purpose.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:139:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The proofValue property MUST be used, as specified in 2.1 Proofs. |
✓
|
✓
|
✓
|
❌
MUST not verify VC with no "proofValue".: expected undefined to existAssertionError: MUST not verify VC with no "proofValue".: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async shouldBeProofValue (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:311:3) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.proofValue") A string value that contains the base-encoded binary data necessary to verify the digital proof using the verificationMethod specified. The contents of the value MUST be expressed with a header and encoding as described in Section 2.4 Multibase of the Controller Documents 1.0 specification. |
✓
|
✓
|
✓
|
❌
MUST not verify VC with no "proofValue".: expected undefined to existAssertionError: MUST not verify VC with no "proofValue".: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async shouldBeProofValue (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:311:3) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementations that use JSON-LD processing, such as RDF Dataset Canonicalization [RDF-CANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSON-LD processor, such as when an undefined term is detected in an input document. |
❌
Should fail to verify VC if an undefined type is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '474276abbf99ddc5f195490493d51647', date: 'Sun, 13 Jul 2025 05:09:07 GMT', server: 'Google Frontend', 'content-length': '271', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should fail to verify VC if an undefined type is added after issuance.: expected Response { status: 200, statusText: 'OK', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '474276abbf99ddc5f195490493d51647', date: 'Sun, 13 Jul 2025 05:09:07 GMT', server: 'Google Frontend', 'content-length': '271', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:180:7) |
✓
|
✓
|
❌
Should fail to verify VC when data is dropped by JSON-LD: expected undefined to existAssertionError: Should fail to verify VC when data is dropped by JSON-LD: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:165:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. If the processing environment supports subtypes of string, the type of the cryptosuite value MUST be the https://w3id.org/security#cryptosuiteString subtype of string. |
✓
|
✓
|
✓
|
❌
Expected "errorResponse.status" to exist.: expected undefined to existAssertionError: Expected "errorResponse.status" to exist.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at shouldBeErrorResponse (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:274:10) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:85:3) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:194:7) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
ecdsa-rdfc-2019 (interop)
Verifier ⇒
⇓Issuer
|
apicatalog.com: P-256, P-384 | CredenceID: P-256 | Digital Bazaar: P-256, P-384 | Gen Digital: P-384, P-256 | Grotto Networking: P-256 | MakoLab: P-256 | Netis: P-256, P-384 | Procivis One Core: P-256 | SpruceID: P-256, P-384 | Trential: P-256, P-384 | bovine: P-256 |
---|---|---|---|---|---|---|---|---|---|---|---|
apicatalog.com: P-256 |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
apicatalog.com: P-384 |
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
🚫
Test skipped.
|
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
Digital Bazaar: P-256 |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
Digital Bazaar: P-384 |
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
🚫
Test skipped.
|
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Digital Bazaar: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
Gen Digital: P-384 |
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
🚫
Test skipped.
|
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to existAssertionError: Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:96:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
Grotto Networking: P-256 |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
✓
|
✓
|
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
MakoLab: P-256 |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
Procivis One Core: P-256 |
❌
Expected verifier to not error.: expected HTTPError: InvalidDocument { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: InvalidDocument { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: "issuanceDate" property is req… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: "issuanceDate" property is req… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
SpruceID: P-256 |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
✓
|
✓
|
✓
|
✓
|
SpruceID: P-384 |
✓
|
🚫
Test skipped.
|
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
🚫
Test skipped.
|
Trential: P-256 |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
✓
|
✓
|
✓
|
✓
|
Trential: P-384 |
✓
|
🚫
Test skipped.
|
✓
|
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
🚫
Test skipped.
|
🚫
Test skipped.
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
🚫
Test skipped.
|
bovine: P-256 |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: A validation error occurred in… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: A validation error occurred in… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not existAssertionError: Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/30-rdfc-interop.js:100:13) |
✓
|
✓
|
✓
|
Data Integrity (ecdsa-sd-2023 issuers)
Issuer ⇒
⇓Test Name
|
apicatalog.com: P-256 | apicatalog.com: P-384 | Digital Bazaar: P-256 | Grotto Networking: P-256 | MakoLab: P-256 | SpruceID: P-256 | SpruceID: P-384 | Trential: P-256 |
---|---|---|---|---|---|---|---|---|
When expressing a data integrity proof on an object, a proof property MUST be used. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
If present (proof), its value MUST be either a single object, or an unordered set of objects. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.id") An optional identifier for the proof, which MUST be a URL. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The specific type of proof MUST be specified as a string that maps to a URL. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST contain the string DataIntegrityProof. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The proofValue property MUST be used, as specified in 2.1 Proofs. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the proof type is DataIntegrityProof, cryptosuite MUST be specified; otherwise, cryptosuite MAY be specified. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
If specified (proof.cryptosuite), its value MUST be a string. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
A verification method is the means and information needed to verify the proof. If included, the value MUST be a string that maps to a [URL]. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The reason the proof was created ("proof.proofPurpose") MUST be specified as a string that maps to a URL. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.proofValue") A string value that expresses base-encoded binary data necessary to verify the digital proof using the verificationMethod specified. The value MUST use a header and encoding as described in Section 2.4 Multibase of the Controller Documents 1.0 specification to express the binary data. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
Cryptographic suite designers MUST use mandatory proof value properties defined in Section 2.1 Proofs, and MAY define other properties specific to their cryptographic suite. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementations that use JSON-LD processing, such as RDF Dataset Canonicalization [RDF-CANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSON-LD processor, such as when an undefined term is detected in an input document. |
❌
Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '1c898cbf64c42a92a3dffb600e9598ff', date: 'Sun, 13 Jul 2025 05:10:38 GMT', server: 'Google Frontend', 'content-length': '1246', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': '1c898cbf64c42a92a3dffb600e9598ff', date: 'Sun, 13 Jul 2025 05:10:38 GMT', server: 'Google Frontend', 'content-length': '1246', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:235:7) |
❌
Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': 'f2b31bed5a238de3a3dffb600e959772', date: 'Sun, 13 Jul 2025 05:10:38 GMT', server: 'Google Frontend', 'content-length': '1247', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Expected issuer to error when VC has an undefined type.: expected Response { status: 201, statusText: 'Created', headers: Headers { 'access-control-allow-origin': '*', 'content-type': 'application/json', 'x-cloud-trace-context': 'f2b31bed5a238de3a3dffb600e959772', date: 'Sun, 13 Jul 2025 05:10:38 GMT', server: 'Google Frontend', 'content-length': '1247', 'alt-svc': 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at shouldFailIssuance (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:105:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/create.js:235:7) |
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
If the algorithm produces an error, the error MUST be propagated and SHOULD convey the error type. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. If the processing environment supports subtypes of string, the type of the cryptosuite value MUST be the https://w3id.org/security#cryptosuiteString subtype of string. |
✓
|
✓
|
🚫
Test skipped.
|
✓
|
✓
|
✓
|
✓
|
✓
|
Data Integrity (ecdsa-sd-2023 verifiers) VC 1.1
Verifier ⇒
⇓Test Name
|
apicatalog.com: P-256 | Digital Bazaar: P-256 | Grotto Networking: P-256 | MakoLab: P-256 | Netis: P-256 | SpruceID: P-256 | Trential: P-256 |
---|---|---|---|---|---|---|---|
When deserializing to RDF, implementations MUST ensure that the base URL is set to null. |
✓
|
✓
|
✓
|
✓
|
❌
Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:10:54 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:10:54 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:39:7) |
✓
|
✓
|
Conforming processors MUST produce errors when non-conforming documents are consumed. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If either securedDocument is not a map or securedDocument.proof is not a map, an error MUST be raised and SHOULD convey an error type of PARSING_ERROR. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If one or more of proof.type, proof.verificationMethod, and proof.proofPurpose does not exist, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST contain the string DataIntegrityProof. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If expectedProofPurpose was given, and it does not match proof.proofPurpose, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The proofValue property MUST be used, as specified in 2.1 Proofs. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
("proof.proofValue") A string value that contains the base-encoded binary data necessary to verify the digital proof using the verificationMethod specified. The contents of the value MUST be expressed with a header and encoding as described in Section 2.4 Multibase of the Controller Documents 1.0 specification. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Implementations that use JSON-LD processing, such as RDF Dataset Canonicalization [RDF-CANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSON-LD processor, such as when an undefined term is detected in an input document. |
✓
|
✓
|
✓
|
✓
|
❌
Should fail to verify VC when data is dropped by JSON-LD: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:10:56 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not existAssertionError: Should fail to verify VC when data is dropped by JSON-LD: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 13 Jul 2025 05:10:56 GMT', 'content-length': '34', Authorization: 'sanitized to prevent exposure of secrets' }, body: ReadableStream { locked: false, state: 'readable', supportsBYOB: true }, bodyUsed: false, ok: true, redirected: false, type: 'default', url: '' } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationFail (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/assertions.js:83:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/node_modules/data-integrity-test-suite-assertion/suites/verify.js:165:7) |
✓
|
✓
|
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite. If the processing environment supports subtypes of string, the type of the cryptosuite value MUST be the https://w3id.org/security#cryptosuiteString subtype of string. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Data Integrity (ecdsa-sd-2023 verifiers) VC 2.0
ecdsa-sd-2023 (interop)
Verifier ⇒
⇓Issuer
|
apicatalog.com: P-256, P-384 | Digital Bazaar: P-256, P-384 | Grotto Networking: P-256 | MakoLab: P-256 | Netis: P-256, P-384 | SpruceID: P-256, P-384 | Trential: P-256, P-384 |
---|---|---|---|---|---|---|---|
apicatalog.com: P-256 |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
apicatalog.com: P-384 |
❌
Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
🚫
Test skipped.
|
❌
Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer apicatalog.com: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
Digital Bazaar: P-256 |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer Digital Bazaar: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
Grotto Networking: P-256 |
✓
|
✓
|
✓
|
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:116:13) |
✓
|
✓
|
MakoLab: P-256 |
✓
|
✓
|
✓
|
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:116:13) |
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:116:13) |
✓
|
SpruceID: P-256 |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-256 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
SpruceID: P-384 |
❌
Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
🚫
Test skipped.
|
🚫
Test skipped.
|
❌
Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to existAssertionError: Expected issuer SpruceID: P-384 to issue a disclosed VC.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:112:20) at process.processImmediate (node:internal/timers:483:21) |
Trential: P-256 |
✓
|
✓
|
✓
|
✓
|
❌
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not existAssertionError: Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(5) } to not exist at should.not.exist (node_modules/chai/lib/chai/interface/should.js:208:38) at verificationSuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/assertions.js:121:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/60-sd-interop.js:116:13) |
✓
|
✓
|
Data Model - Verification Methods (Multikey)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
The publicKeyMultibase value of the verification method MUST start with the base-58-btc prefix (z), as defined in the Multibase section of Controller Documents 1.0. |
✓
|
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/70-data-model.js:50:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
A Multibase-encoded ECDSA 256-bit public key value or an ECDSA 384-bit public key value follows, as defined in the Multikey section of Controller Documents 1.0. Any other encoding MUST NOT be allowed. |
✓
|
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/70-data-model.js:64:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Data Model - Proof Representations
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
A proof contains the attributes specified in the Proofs section of [VC-DATA-INTEGRITY]. |
✓
|
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/70-data-model.js:92:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The type property MUST be DataIntegrityProof. |
✓
|
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/70-data-model.js:98:25) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
The cryptosuite property MUST be ecdsa-rdfc-2019, ecdsa-jcs-2019, or ecdsa-sd-2023. |
✓
|
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/70-data-model.js:108:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Algorithms - Create Proof (ecdsa-jcs-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | bovine |
---|---|---|---|---|
A data integrity proof (map), or an error, is produced as output. |
✓
|
✓
|
✓
|
✓
|
If unsecuredDocument.@context is present, set proof.@context to unsecuredDocument.@context. |
❌
Expected proof to have context.: expected undefined to existAssertionError: Expected proof to have context.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-jcs.js:69:16) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
❌
Expected proof to have context.: expected undefined to existAssertionError: Expected proof to have context.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-jcs.js:69:16) at process.processImmediate (node:internal/timers:483:21) |
Let proof.proofValue be a base58-btc-encoded Multibase value of the proofBytes. |
✓
|
✓
|
✓
|
✓
|
Algorithms - Verify Proof (ecdsa-jcs-2019)
Algorithms - Transformation (ecdsa-jcs-2019)
Algorithms - Proof Configuration (ecdsa-jcs-2019)
Algorithms - Proof Serialization (ecdsa-jcs-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | bovine |
---|---|---|---|---|
The proof options MUST contain a type identifier for the cryptographic suite (type) and MAY contain a cryptosuite identifier (cryptosuite). |
✓
|
✓
|
✓
|
✓
|
Algorithms - Create Proof (ecdsa-rdfc-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
A data integrity proof (map), or an error, is produced as output. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:56:25) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:56:25) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Let proof.proofValue be a base58-btc-encoded Multibase value of the proofBytes. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:66:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:66:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Algorithms - Verify Proof (ecdsa-rdfc-2019)
Algorithms - Transformation (ecdsa-rdfc-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
The transformation options MUST contain a type identifier for the cryptographic suite (type) and a cryptosuite identifier (cryptosuite). |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:121:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:121:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Whenever this algorithm encodes strings, it MUST use UTF-8 encoding. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:130:25) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:130:25) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If options.type is not set to the string DataIntegrityProof or options.cryptosuite is not set to the string ecdsa-rdfc-2019, an error MUST be raised and SHOULD convey an error type of PROOF_TRANSFORMATION_ERROR. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:139:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:139:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Algorithms - Proof Configuration (ecdsa-rdfc-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
The proof options MUST contain a type identifier for the cryptographic suite (type) and MUST contain a cryptosuite identifier (cryptosuite). |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:163:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:163:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If proofConfig.type is not set to DataIntegrityProof and/or proofConfig.cryptosuite is not set to ecdsa-rdfc-2019, an error MUST be raised and SHOULD convey an error type of PROOF_GENERATION_ERROR. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:175:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:175:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
If proofConfig.created is set and if the value is not a valid [XMLSCHEMA11-2] datetime, an error MUST be raised and SHOULD convey an error type of PROOF_GENERATION_ERROR. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:183:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:183:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Algorithms - Proof Serialization (ecdsa-rdfc-2019)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Gen Digital | Grotto Networking | MakoLab | Procivis One Core | SpruceID | Trential | bovine |
---|---|---|---|---|---|---|---|---|---|
The proof options MUST contain a type identifier for the cryptographic suite (type) and MAY contain a cryptosuite identifier (cryptosuite). |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:212:23) at process.processImmediate (node:internal/timers:483:21) |
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-rdfc.js:212:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Algorithms - Create Base Proof (ecdsa-sd-2023)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|---|---|---|---|---|---|
A data integrity proof (map), or an error, is produced as output. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:60:25) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
Let proof.proofValue be a base64-url-encoded Multibase value of the proofBytes. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:70:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
Algorithms - Base Proof Transformation (ecdsa-sd-2023)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|---|---|---|---|---|---|
The transformation options MUST contain a type identifier for the cryptographic suite (type), a cryptosuite identifier (cryptosuite), and a verification method (verificationMethod). |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:97:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
The transformation options MUST contain an array of mandatory JSON pointers (mandatoryPointers) and MAY contain additional options, such as a JSON-LD document loader. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:114:23) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) |
✓
|
✓
|
✓
|
✓
|
Whenever this algorithm encodes strings, it MUST use UTF-8 encoding. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:124:25) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
Per the recommendations of [RFC2104], the HMAC key MUST be the same length as the digest size; for SHA-256, this is 256 bits or 32 bytes. |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:132:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
Algorithms - Base Proof Configuration (ecdsa-sd-2023)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|
Algorithms - Base Proof Serialization (ecdsa-sd-2023)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|---|---|---|---|---|---|
The proof options MUST contain a type identifier for the cryptographic suite (type) and MAY contain a cryptosuite identifier (cryptosuite). |
✓
|
❌
Expected issuer to have issued a credential.: expected null to existAssertionError: Expected issuer to have issued a credential.: expected null to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at proofExists (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:302:10) at Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:209:23) at process.processImmediate (node:internal/timers:483:21) |
✓
|
✓
|
✓
|
✓
|
Algorithms - Verify Derived Proof (ecdsa-sd-2023)
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | Netis | SpruceID | Trential |
---|---|---|---|---|---|---|---|
If the length of signatures does not match the length of nonMandatory, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR, indicating that the signature count does not match the non-mandatory message count. |
✓
|
❌
Expected a result from verifier.: expected undefined to existAssertionError: Expected a result from verifier.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at verifySuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:317:10) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:232:9) |
✓
|
✓
|
❌
Expected a result from verifier.: expected undefined to existAssertionError: Expected a result from verifier.: expected undefined to exist at should.exist (node_modules/chai/lib/chai/interface/should.js:144:34) at verifySuccess (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/helpers.js:317:10) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Context.<anonymous> (file:///home/runner/work/vc-di-ecdsa-test-suite/vc-di-ecdsa-test-suite/tests/90-algorithms-sd.js:232:9) |
✓
|
✓
|
Functions - Selective Disclosure
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|---|---|---|---|---|---|
Set value to parentValue.path. If value is now undefined, an error MUST be raised and SHOULD convey an error type of PROOF_GENERATION_ERROR, indicating that the JSON pointer does not match the given document. |
✓
|
✓
|
✓
|
✓
|
✓
|
✓
|
Functions - ecdsa-sd-2023
⇒
⇓Test Name
|
apicatalog.com | Digital Bazaar | Grotto Networking | MakoLab | SpruceID | Trential |
---|