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

Data Integrity (bbs-2023 verifiers) VC 1.1

Test Name Verifier
Digital Bazaar Grotto Networking Procivis One Core SpruceID
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 the "proof" field is missing, an error MUST be raised.
If the "proof" field is invalid, an error MUST be raised.
If the "proof.type" field is missing, an error MUST be raised.
If the "proof.type" field is not the string "DataIntegrityProof", an error MUST be raised.
If the "proof.verificationMethod" field is missing, an error MUST be raised.
If the "proof.verificationMethod" field is invalid, an error MUST be raised.
If the "proof.proofPurpose" field is missing, an error MUST be raised.
If the "proof.proofPurpose" field is invalid, an error MUST be raised.
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.
If options has a non-null domain item, it MUST be equal to proof.domain or an error MUST be raised and SHOULD convey an error type of PROOF_GENERATION_ERROR.
If options has a non-null challenge item, it MUST be equal to proof.challenge or an error MUST be raised and SHOULD convey an error type of PROOF_GENERATION_ERROR.