The purpose of this test suite is to demonstrate a path to interoperability for Bitstring Status List.

The test suite API requires raw JSON responses such that implementations using VC JOSE/COSE or other enveloped response bodies are required to unwrap the envelopes prior to responding. Consequently, in addition to the test results below, Tradeverifyd reports a successful implementation of every feature, including the ability to host multiple statuses in a single list.

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 Model: BitstringStatusList Entry

Issuer ⇒
⇓Test Name
Accredify
Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].
✓
If present, the id value is expected to be a URL that identifies the status information associated with the verifiable credential. It MUST NOT be the URL for the status list.
🚫
No id property included.
The type property MUST be BitstringStatusListEntry.
✓
The purpose of the status entry MUST be a string.
✓
The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.
✓
The statusListCredential property MUST be a URL to a verifiable credential.
✓
When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.
✓
If present, statusSize MUST be an integer greater than zero.
🚫
No statusSize property included.
If statusSize is provided and is greater than 1, then the property credentialStatus.statusMessage MUST be present.
🚫
No statusSize property included.
The number of status messages MUST equal the number of possible values.
🚫
No statusMessage property included.
If present, the statusMessage property MUST be an array, the length of which MUST equal the number of possible status messages indicated by statusSize.
🚫
No statusMessage property included.
statusMessage MAY be present if statusSize is 1, and MUST be present if statusSize is greater than 1.
🚫
No greater than 1 statusSize property included.
If the statusMessage array is present, each element MUST contain the two properties "status" and "message".
🚫
No statusMessage property included.
If present, the "statusReference" value MUST be a URL or an array of URLs [URL] which dereference(s) to material related to the status.
🚫
No statusReference property included.

Data Model: BitstringStatusList Credential

Algorithm

Algorithm: Generate Algorithm

Algorithm: Validate Algorithm

Algorithm: Bitstring Generation Algorithm

Algorithm: Bitstring Expansion Algorithm

BitstringStatusList (interop)

Verifier ⇒
⇓Issuer
Accredify
Accredify
✓

At Risk

Reason ⇒
⇓Statement
At least 2 passing implementations
Any expression of the data model in this section MUST be expressed in a conforming verifiable credential as defined in [VC-DATA-MODEL-2.0].
❌
The type property MUST be BitstringStatusListEntry.
❌
The purpose of the status entry MUST be a string.
❌
The statusListIndex property MUST be an arbitrary size integer greater than or equal to 0, expressed as a string in base 10.
❌
The statusListCredential property MUST be a URL to a verifiable credential.
❌
When the URL is dereferenced, the resulting verifiable credential MUST have type property that includes the BitstringStatusListCredential value.
❌
When a status list verifiable credential is published, it MUST be a conforming document, as defined in [VC-DATA-MODEL-2.0].
❌
The verifiable credential that contains the status list MUST express a type property that includes the BitstringStatusListCredential value.
❌
The type of the credential subject, which is the status list, MUST be BitstringStatusList.
❌
The value of the purpose property of the status entry, statusPurpose, MUST be one or more strings.
❌
The encodedList property of the credential subject MUST be a Multibase-encoded base64url (with no padding) [RFC4648] representation of the GZIP-compressed [RFC1952] bitstring values for the associated range of verifiable credential status values.
❌
The uncompressed bitstring MUST be at least 16KB in size.
❌
If an implementation of any of the algorithms in this section processes a property defined in Section 2. Data Model whose value is malformed due to not complying with associated "MUST" statements, a MALFORMED_VALUE_ERROR MUST be raised.
❌
The following process, or one generating the exact output, MUST be followed when producing a BitstringStatusListCredential.
❌
The following process, or one generating the exact output, MUST be followed when validating a verifiable credential that is contained in a BitstringStatusListCredential
❌
The following process, or one generating the exact output, MUST be followed when generating a status list bitstring.
❌
The following process, or one generating the exact output, MUST be followed when expanding a compressed status list bitstring.
❌