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

Data Integrity (bbs-2023 issuers)

Test Name Issuer
Digital Bazaar Grotto Networking Procivis One Core SpruceID Trential
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.
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.