Data Integrity eddsa 2022 Interoperability Report 1.0
Interoperability test suite for EdDSA Data Integrity cryptosuites.

Data Integrity (eddsa-rdfc-2022 verifiers)

Test Name Verifier
apicatalog.com Aviary Tech CredenceID Digital Bazaar Grotto Networking Netis Procivis One Core SpruceID Trential Trinsic bovine
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.
An OPTIONAL string value (proof.previousProof) or unordered list of string values. Each value identifies another data integrity proof that MUST verify before the current proof is processed.
If an unordered list (proof), all referenced proofs in the array MUST verify.
If a proof with id equal to previousProof does not exist in allProofs, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.
If any element of previousProof list has an id attribute that does not match the id attribute of any element of allProofs, an error MUST be raised and SHOULD convey an error type of PROOF_VERIFICATION_ERROR.
Each value identifies another data integrity proof, all of which MUST also verify for the current proof to be considered verified