Data Integrity ECDSA Cryptosuites Interoperability Report
Interoperability test suite for ECDSA Data Integrity cryptosuites.
Data Integrity (ecdsardfc2019 verifiers) VC 1.1
Test Name  Verifier  

apicatalog.com: P256  Digital Bazaar: P256  Grotto Networking: P256  Procivis One Core: P256  SpruceID: P256  bovine: P256  
When deserializing to RDF, implementations MUST ensure that the base URL is set to null. 






Conforming processors MUST produce errors when nonconforming 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 baseencoded 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 JSONLD processing, such as RDF Dataset Canonicalization [RDFCANON], MUST throw an error, which SHOULD be DATA_LOSS_DETECTION_ERROR, when data is dropped by a JSONLD 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 





