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, Inc.: P-256 Digital Bazaar, Inc.: 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.
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.
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.
("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': '327d16da6df7fe12d1a94a8b94daa851', date: 'Sun, 26 Oct 2025 05:06:44 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
AssertionError: 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': '327d16da6df7fe12d1a94a8b94daa851', date: 'Sun, 26 Oct 2025 05:06:44 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': 'e18eaf1253ddafefd1a94a8b94daafd8', date: 'Sun, 26 Oct 2025 05:06:45 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
AssertionError: 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': 'e18eaf1253ddafefd1a94a8b94daafd8', date: 'Sun, 26 Oct 2025 05:06:45 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.
If the algorithm produces an error, the error MUST be propagated and SHOULD convey the error type.
🚫
Test skipped.
🚫
Test skipped.
🚫
Test skipped.
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.

Data Integrity (ecdsa-rdfc-2019 verifiers) VC 1.1

Verifier ⇒
Test Name
apicatalog.com: P-256 Digital Bazaar, Inc.: 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, 26 Oct 2025 05:07:11 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
AssertionError: Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 26 Oct 2025 05:07:11 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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': '09ab26144c9e9548b69bacb0bb88fd8c', date: 'Sun, 26 Oct 2025 05:07:06 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
AssertionError: 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': '09ab26144c9e9548b69bacb0bb88fd8c', date: 'Sun, 26 Oct 2025 05:07:06 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, 26 Oct 2025 05:07:13 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
AssertionError: 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, 26 Oct 2025 05:07:13 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 502 to be one of [ 400, 422 ]
                        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:278:28)
                        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)

Data Integrity (ecdsa-rdfc-2019 verifiers) VC 2.0

Verifier ⇒
Test Name
apicatalog.com: P-256 CredenceID: P-256 Digital Bazaar, Inc.: 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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Should not verify VC with invalid base URL: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Should not verify VC with invalid "proof.type": expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
MUST not verify VC with proof that is not a map.: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
MUST not verify VC w/o a proof: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Should not verify VC with invalid "proof.type": expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Verifier should reject VC with invalid proof purpose.: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
MUST not verify VC with no "proofValue".: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
MUST not verify VC with no "proofValue".: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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': 'c3cc8157e7d8ffcd18250cf8926c77c2', date: 'Sun, 26 Oct 2025 05:07:37 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
AssertionError: 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': 'c3cc8157e7d8ffcd18250cf8926c77c2', date: 'Sun, 26 Oct 2025 05:07:37 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)
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Should fail to verify VC when data is dropped by JSON-LD: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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.
Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
AssertionError: Received 404 Not Found.: expected 404 to be one of [ 400, 422 ]
                        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:278:28)
                        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)
Expected "errorResponse.status" to exist.: expected undefined to exist
AssertionError: 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)
received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
AssertionError: received HTTP status ${status}: expected 503 to be one of [ 400, 422 ]
                        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:278:28)
                        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, Inc.: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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, Inc.: P-256
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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)
Digital Bazaar, Inc.: P-384
🚫
Test skipped.
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist
AssertionError: 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.
Gen Digital: P-384
Expected issuer Gen Digital: P-384 to issue a VC.: expected null to exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 issuer Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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 Procivis One Core: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer Procivis One Core: 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)
SpruceID: P-256
Expected verifier to not error.: expected HTTPError: Request failed with status cod… { …(6) } to not exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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-384
🚫
Test skipped.
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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)
Trential: P-384
🚫
Test skipped.
Expected verifier to not error.: expected TypeError: fetch failed { …(2) } to not exist
AssertionError: 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 issuer bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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 bovine: P-256 to issue a VC.: expected null to exist
AssertionError: Expected issuer bovine: 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)

Data Integrity (ecdsa-sd-2023 issuers)

Issuer ⇒
Test Name
apicatalog.com: P-256 apicatalog.com: P-384 Digital Bazaar, Inc.: 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.
If present (proof), its value MUST be either a single object, or an unordered set of objects.
("proof.id") An optional identifier for the proof, which MUST be a URL.
The specific type of proof MUST be specified as a string that maps to a URL.
The type property MUST contain the string DataIntegrityProof.
The proofValue property MUST be used, as specified in 2.1 Proofs.
If the proof type is DataIntegrityProof, cryptosuite MUST be specified; otherwise, cryptosuite MAY be specified.
If specified (proof.cryptosuite), its value MUST be a string.
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].
The reason the proof was created ("proof.proofPurpose") MUST be specified as a string that maps to a URL.
("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.
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.
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': 'fda39374e0ef86571982b444be1bd763', date: 'Sun, 26 Oct 2025 05:09:06 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
AssertionError: 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': 'fda39374e0ef86571982b444be1bd763', date: 'Sun, 26 Oct 2025 05:09:06 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)
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': '73463f9d7e1cae7c1982b444be1bdc8c', date: 'Sun, 26 Oct 2025 05:09:07 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
AssertionError: 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': '73463f9d7e1cae7c1982b444be1bdc8c', date: 'Sun, 26 Oct 2025 05:09:07 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)
If the algorithm produces an error, the error MUST be propagated and SHOULD convey the error type.
The value of the cryptosuite property MUST be a string that identifies the cryptographic suite.
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 1.1

Verifier ⇒
Test Name
apicatalog.com: P-256 Digital Bazaar, Inc.: 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, 26 Oct 2025 05:09:23 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
AssertionError: Should not verify VC with invalid base URL: expected Response { status: 200, statusText: 'OK', headers: Headers { 'content-type': 'application/json', date: 'Sun, 26 Oct 2025 05:09:23 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, 26 Oct 2025 05:09:25 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
AssertionError: 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, 26 Oct 2025 05:09:25 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

Verifier ⇒
Test Name
apicatalog.com: P-256 Digital Bazaar, Inc.: 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.
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.
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.

ecdsa-sd-2023 (interop)

Verifier ⇒
Issuer
apicatalog.com: P-256, P-384 Digital Bazaar, Inc.: 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

Data Model - Verification Methods (Multikey)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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 exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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, Inc. 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 exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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 exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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 exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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, Inc. Grotto Networking bovine
A data integrity proof (map), or an error, is produced as output.
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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-jcs.js:57:25)
                        at process.processImmediate (node:internal/timers:483:21)
If unsecuredDocument.@context is present, set proof.@context to unsecuredDocument.@context.
Expected proof to have context.: expected undefined to exist
AssertionError: 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 issuer to have issued a credential.: expected null to exist
AssertionError: 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-jcs.js:68:23)
                        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 exist
AssertionError: 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-jcs.js:82:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Verify Proof (ecdsa-jcs-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking bovine
The following algorithm specifies how to verify a data integrity proof given an secured data document. Required inputs are an secured data document (map securedDocument). This algorithm returns a verification result.
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-jcs.js:108:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-jcs.js:108:11)

Algorithms - Transformation (ecdsa-jcs-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking 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 exist
AssertionError: 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-jcs.js:138: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 exist
AssertionError: 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-jcs.js:147: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-jcs-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 exist
AssertionError: 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-jcs.js:156:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Proof Configuration (ecdsa-jcs-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking 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 exist
AssertionError: 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-jcs.js:180: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-jcs-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 exist
AssertionError: 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-jcs.js:192: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 exist
AssertionError: 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-jcs.js:200:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Proof Serialization (ecdsa-jcs-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking 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 exist
AssertionError: 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-jcs.js:229:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Create Proof (ecdsa-rdfc-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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 exist
AssertionError: 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)

Test Name
apicatalog.com CredenceID Digital Bazaar, Inc. Gen Digital Grotto Networking MakoLab Netis Procivis One Core SpruceID Trential bovine
The following algorithm specifies how to verify a data integrity proof given an secured data document. Required inputs are an secured data document (map securedDocument). This algorithm returns a verification result.
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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-rdfc.js:92:11)

Algorithms - Transformation (ecdsa-rdfc-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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:122:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:122:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:122: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 exist
AssertionError: 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:131:25)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:131:25)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:131: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 exist
AssertionError: 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:140:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:140:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:140:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Proof Configuration (ecdsa-rdfc-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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:164:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:164:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:164: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 exist
AssertionError: 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:176:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:176:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:176: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 exist
AssertionError: 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:184:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:184:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:184:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Proof Serialization (ecdsa-rdfc-2019)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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:213:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:213:23)
                        at process.processImmediate (node:internal/timers:483:21)
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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:213:23)
                        at process.processImmediate (node:internal/timers:483:21)

Algorithms - Create Base Proof (ecdsa-sd-2023)

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking MakoLab SpruceID Trential
A data integrity proof (map), or an error, is produced as output.
Let proof.proofValue be a base64-url-encoded Multibase value of the proofBytes.

Algorithms - Base Proof Transformation (ecdsa-sd-2023)

Algorithms - Base Proof Configuration

Algorithms - Base Proof Serialization (ecdsa-sd-2023)

Test Name
apicatalog.com Digital Bazaar, Inc. 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).

Algorithms - Verify Derived Proof (ecdsa-sd-2023)

Test Name
apicatalog.com Digital Bazaar, Inc. 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 exist
AssertionError: 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:234:9)
Expected a result from verifier.: expected undefined to exist
AssertionError: 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:234:9)

Functions - Selective Disclosure

Functions - ecdsa-sd-2023

Test Name
apicatalog.com Digital Bazaar, Inc. Grotto Networking MakoLab SpruceID Trential
CBOR-encode components per [RFC8949] where CBOR tagging MUST NOT be used on any of the components.
Expected issuer to have issued a credential.: expected null to exist
AssertionError: 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/95-functions-sd.js:95:23)
                        at process.processImmediate (node:internal/timers:483:21)
If the proofValue string does not start with u, indicating that it is a multibase-base64url-no-pad-encoded value, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.
Expected a result from verifier.: expected undefined to exist
AssertionError: 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/95-functions-sd.js:114:9)
If the decodedProofValue does not start with the ECDSA-SD disclosure proof header bytes 0xd9, 0x5d, and 0x01, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.
Expected a result from verifier.: expected undefined to exist
AssertionError: 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/95-functions-sd.js:129:9)
Initialize components to an array that is the result of CBOR-decoding the bytes that follow the three-byte ECDSA-SD disclosure proof header. If the result is not an array of the following five elements — a byte array of length 64; a byte array of length 36; an array of byte arrays, each of length 64; a map of integers to byte arrays, each of length 32; and an array of integers — an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.