Data Integrity BBS Interoperability Report 1.0
Interoperability test suite for BBS Data Integrity cryptosuite.

bbs-2023 (issuers) VC Version 1.1

Test Name Implementation
Digital Bazaar Grotto Networking Procivis One Core SpruceID
The cryptosuite property of the proof MUST be bbs-2023.
The type property of the proof MUST be DataIntegrityProof.
The value of the proofValue property of the proof MUST be a BBS signature or BBS proof produced according to [CFRG-BBS-SIGNATURE] that is serialized and encoded according to procedures in section 3. Algorithms.
A conforming proof is any concrete expression of the data model that complies with the normative statements in this specification. Specifically, all relevant normative statements in Sections 2. Data Model and 3. Algorithms of this document MUST be enforced.
The verificationMethod property of the proof MUST be a URL.
Dereferencing "verificationMethod" MUST result in an object containing a type property with "Multikey" value.
The publicKeyMultibase property represents a Multibase-encoded Multikey expression of a BLS12-381 public key in the G2 group. The encoding of this field is the two-byte prefix 0xeb01 followed by the 96-byte compressed public key data. The 98-byte value is then encoded using base58-btc (z) as the prefix. Any other encodings MUST NOT be allowed.
The transformation options MUST contain a type identifier for the cryptographic suite (type), a cryptosuite identifier (cryptosuite), and a verification method (verificationMethod).
the HMAC key MUST be the same length as the digest size
CBOR-encode components per [RFC8949] where CBOR tagging MUST NOT be used on any of the components. Append the produced encoded value to proofValue.
The transformation options MUST contain an array of mandatory JSON pointers (mandatoryPointers)
Initialize components to an array that is the result of CBOR-decoding the bytes that follow the three-byte BBS disclosure proof header. If the result is not an array of five or six elements — a byte array, a map of integers to integers, two arrays of integers, and one or two byte arrays; an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.