mirror of https://gitlab.com/bashrc2/epicyon
Support for multikey v1 context within jsonld signature verification
parent
693655f1b2
commit
29ec9f08a7
42
context.py
42
context.py
|
@ -22,6 +22,7 @@ VALID_CONTEXTS = (
|
|||
"*/socialweb/webfinger.jsonld",
|
||||
"https://www.w3.org/ns/did/v1",
|
||||
"https://w3id.org/security/multikey/v1",
|
||||
"https://w3c.github.io/vc-data-integrity/contexts/multikey/v1.jsonld",
|
||||
"https://w3id.org/security/data-integrity/v1"
|
||||
)
|
||||
|
||||
|
@ -84,6 +85,47 @@ def has_valid_context(post_json_object: {}) -> bool:
|
|||
return True
|
||||
|
||||
|
||||
def get_multikey_v1_schema() -> {}:
|
||||
""" https://w3id.org/security/multikey/v1
|
||||
https://w3c.github.io/vc-data-integrity/contexts/multikey/v1.jsonld
|
||||
"""
|
||||
return {
|
||||
"@context": {
|
||||
"id": "@id",
|
||||
"type": "@type",
|
||||
"@protected": True,
|
||||
"Multikey": {
|
||||
"@id": "https://w3id.org/security#Multikey",
|
||||
"@context": {
|
||||
"@protected": True,
|
||||
"id": "@id",
|
||||
"type": "@type",
|
||||
"controller": {
|
||||
"@id": "https://w3id.org/security#controller",
|
||||
"@type": "@id"
|
||||
},
|
||||
"revoked": {
|
||||
"@id": "https://w3id.org/security#revoked",
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#dateTime"
|
||||
},
|
||||
"expires": {
|
||||
"@id": "https://w3id.org/security#expiration",
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#dateTime"
|
||||
},
|
||||
"publicKeyMultibase": {
|
||||
"@id": "https://w3id.org/security#publicKeyMultibase",
|
||||
"@type": "https://w3id.org/security#multibase"
|
||||
},
|
||||
"secretKeyMultibase": {
|
||||
"@id": "https://w3id.org/security#secretKeyMultibase",
|
||||
"@type": "https://w3id.org/security#multibase"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_did_v1_schema() -> {}:
|
||||
# https://www.w3.org/ns/did/v1
|
||||
return {
|
||||
|
|
|
@ -49,6 +49,7 @@ from context import get_v1security_schema
|
|||
from context import get_activitystreams_schema
|
||||
from context import get_webfinger_schema
|
||||
from context import get_did_v1_schema
|
||||
from context import get_multikey_v1_schema
|
||||
|
||||
try:
|
||||
from functools import cmp_to_key
|
||||
|
@ -449,6 +450,14 @@ def load_document(url):
|
|||
'document': get_webfinger_schema()
|
||||
}
|
||||
return doc
|
||||
elif (url == "https://w3id.org/security/multikey/v1" or
|
||||
url.endswith("/vc-data-integrity/contexts/multikey/v1.jsonld")):
|
||||
doc = {
|
||||
'contextUrl': None,
|
||||
'documentUrl': url,
|
||||
'document': get_multikey_v1_schema()
|
||||
}
|
||||
return doc
|
||||
elif url == 'https://litepub.social/litepub/context.jsonld':
|
||||
doc = {
|
||||
'contextUrl': None,
|
||||
|
|
Loading…
Reference in New Issue