diff --git a/103120/schema/json/ts_103120_Core.schema.json b/103120/schema/json/ts_103120_Core.schema.json index 3216b8c746ba68d4087c259fc35a651c33d301d6..69a7f7aa0f558803484a688c0ab1659d4807bc52 100644 --- a/103120/schema/json/ts_103120_Core.schema.json +++ b/103120/schema/json/ts_103120_Core.schema.json @@ -14,6 +14,32 @@ "Payload": { "$ref": "#/$defs/MessagePayload" }, + "Signatures": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "properties": { + "hash_algorithm": { + "type": "string" + }, + "algorithm": { + "type": "string" + }, + "public_key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "hash_algorithm", + "algorithm", + "value" + ] + } + }, "Signature": { "properties": { "protected": { @@ -29,6 +55,44 @@ ] } }, + "oneOf": [ + { + "required": [ + "Signatures" + ], + "not": { + "required": [ + "Signature" + ] + } + }, + { + "required": [ + "Signature" + ], + "not": { + "required": [ + "Signatures" + ] + } + }, + { + "not": { + "anyOf": [ + { + "required": [ + "Signatures" + ] + }, + { + "required": [ + "Signature" + ] + } + ] + } + } + ], "required": [ "Header", "Payload"