From f59e11281cc9e0b92bbb545838b4d8e63db7d316 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 20 Aug 2023 05:57:39 +0000 Subject: [PATCH] Issue 12815: JsonLD parsing problems with data-integrity --- src/Util/JsonLD.php | 3 + static/security-data-integrity-v1.jsonld | 72 ++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 static/security-data-integrity-v1.jsonld diff --git a/src/Util/JsonLD.php b/src/Util/JsonLD.php index beb01f0cc1..8f492bdcf6 100644 --- a/src/Util/JsonLD.php +++ b/src/Util/JsonLD.php @@ -49,6 +49,9 @@ class JsonLD case 'https://w3id.org/identity/v1': $url = DI::basePath() . '/static/identity-v1.jsonld'; break; + case 'https://w3id.org/security/data-integrity/v1': + $url = DI::basePath() . '/static/security-data-integrity-v1.jsonld'; + break; case 'https://www.w3.org/ns/activitystreams': $url = DI::basePath() . '/static/activitystreams.jsonld'; break; diff --git a/static/security-data-integrity-v1.jsonld b/static/security-data-integrity-v1.jsonld new file mode 100644 index 0000000000..24c054e39c --- /dev/null +++ b/static/security-data-integrity-v1.jsonld @@ -0,0 +1,72 @@ +{ + "@context": { + "id": "@id", + "type": "@type", + "proof": { + "@id": "https://w3id.org/security#proof", + "@type": "@id" + }, + "DataIntegrityProof": { + "@id": "https://w3id.org/security#DataIntegrityProof", + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "challenge": "https://w3id.org/security#challenge", + "created": { + "@id": "http://purl.org/dc/terms/created", + "@type": "http://www.w3.org/2001/XMLSchema#dateTime" + }, + "domain": "https://w3id.org/security#domain", + "expires": { + "@id": "https://w3id.org/security#expiration", + "@type": "http://www.w3.org/2001/XMLSchema#dateTime" + }, + "nonce": "https://w3id.org/security#nonce", + "proofPurpose": { + "@id": "https://w3id.org/security#proofPurpose", + "@type": "@vocab", + "@context": { + "@protected": true, + "id": "@id", + "type": "@type", + "assertionMethod": { + "@id": "https://w3id.org/security#assertionMethod", + "@type": "@id", + "@container": "@set" + }, + "authentication": { + "@id": "https://w3id.org/security#authenticationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityInvocation": { + "@id": "https://w3id.org/security#capabilityInvocationMethod", + "@type": "@id", + "@container": "@set" + }, + "capabilityDelegation": { + "@id": "https://w3id.org/security#capabilityDelegationMethod", + "@type": "@id", + "@container": "@set" + }, + "keyAgreement": { + "@id": "https://w3id.org/security#keyAgreementMethod", + "@type": "@id", + "@container": "@set" + } + } + }, + "cryptosuite": "https://w3id.org/security#cryptosuite", + "proofValue": { + "@id": "https://w3id.org/security#proofValue", + "@type": "https://w3id.org/security#multibase" + }, + "verificationMethod": { + "@id": "https://w3id.org/security#verificationMethod", + "@type": "@id" + } + } + } + } +} \ No newline at end of file