From 37fac1464fc858c5e3c32964b0c961b1413f1fec Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 28 Apr 2026 17:36:51 +0100 Subject: [PATCH 1/2] Adding JSS examples --- 103120/examples/json/request_jss.json | 104 ++++++++++++++++++ .../examples/json/request_jss_private_key.txt | 4 + .../examples/json/request_jss_public_key.txt | 4 + 3 files changed, 112 insertions(+) create mode 100644 103120/examples/json/request_jss.json create mode 100644 103120/examples/json/request_jss_private_key.txt create mode 100644 103120/examples/json/request_jss_public_key.txt diff --git a/103120/examples/json/request_jss.json b/103120/examples/json/request_jss.json new file mode 100644 index 0000000..d8334ea --- /dev/null +++ b/103120/examples/json/request_jss.json @@ -0,0 +1,104 @@ +{ + "@xmlns": "http://uri.etsi.org/03120/common/2019/10/Core", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xmlns:common": "http://uri.etsi.org/03120/common/2016/02/Common", + "@xmlns:task": "http://uri.etsi.org/03120/common/2020/09/Task", + "@xmlns:auth": "http://uri.etsi.org/03120/common/2020/09/Authorisation", + "Header": { + "SenderIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR01" + }, + "ReceiverIdentifier": { + "CountryCode": "XX", + "UniqueIdentifier": "ACTOR02" + }, + "TransactionIdentifier": "c02358b2-76cf-4ba4-a8eb-f6436ccaea2e", + "Timestamp": "2015-09-01T12:00:00.000000Z", + "Version": { + "ETSIVersion": "V1.13.1", + "NationalProfileOwner": "XX", + "NationalProfileVersion": "v1.0" + } + }, + "Payload": { + "RequestPayload": { + "ActionRequests": { + "ActionRequest": [ + { + "ActionIdentifier": 0, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Authorisation}AuthorisationObject", + "ObjectIdentifier": "7dbbc880-8750-4d3c-abe7-ea4a17646045", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "auth:AuthorisationReference": "W000001", + "auth:AuthorisationTimespan": { + "auth:StartTime": "2015-09-01T12:00:00Z", + "auth:EndTime": "2015-12-01T12:00:00Z" + } + } + } + }, + { + "ActionIdentifier": 1, + "CREATE": { + "HI1Object": { + "@xsi:type": "{http://uri.etsi.org/03120/common/2020/09/Task}LITaskObject", + "ObjectIdentifier": "2b36a78b-b628-416d-bd22-404e68a0cd36", + "CountryCode": "XX", + "OwnerIdentifier": "ACTOR01", + "AssociatedObjects": { + "AssociatedObject": [ + "7dbbc880-8750-4d3c-abe7-ea4a17646045" + ] + }, + "task:Reference": "LIID1", + "task:TargetIdentifier": { + "task:TargetIdentifierValues": { + "task:TargetIdentifierValue": [ + { + "task:FormatType": { + "task:FormatOwner": "ETSI", + "task:FormatName": "InternationalE164" + }, + "task:Value": "442079460223" + } + ] + } + }, + "task:DeliveryType": { + "common:Owner": "ETSI", + "common:Name": "TaskDeliveryType", + "common:Value": "IRIandCC" + }, + "task:DeliveryDetails": { + "task:DeliveryDestination": [ + { + "task:DeliveryAddress": { + "task:IPv4Address": "192.0.2.0" + } + } + ] + }, + "task:CSPID": { + "CountryCode": "XX", + "UniqueIdentifier": "RECVER01" + } + } + } + } + ] + } + } + }, + "signatures": [ + { + "hash_algorithm": "sha-256", + "algorithm": "Ed448", + "public_key": "MEMwBQYDK2VxAzoAPTyXPyIqU1VWCuEml1VjvnBYv2I+AvNteIGsTtVc2pT7erIVLDdJRq18tDhZifqW0WGYSy0yVYQA", + "value": "0hV3KVF91PzSWVQiDeDVhqjPW4/EdOClsDWDaEcSy9/raxTUy5cmFZbV/BMI0yCuHXErd53HDkCAc4tS7rg0pwZsh0XOindp8rX6BMWIpZ4FYOA4r5DCW2G1rokXPbpKd4VuGr1wk2AEBCqSzWp02zgA" + } + ] +} \ No newline at end of file diff --git a/103120/examples/json/request_jss_private_key.txt b/103120/examples/json/request_jss_private_key.txt new file mode 100644 index 0000000..77c0a76 --- /dev/null +++ b/103120/examples/json/request_jss_private_key.txt @@ -0,0 +1,4 @@ +-----BEGIN PRIVATE KEY----- +MEcCAQAwBQYDK2VxBDsEOSorOHhQFkvXmylksjqu3I8oIogfarelL6o/t6n9SKy5 +grmgVExkD8fOlx++Mxe2fcyaHcEeSERuCA== +-----END PRIVATE KEY----- \ No newline at end of file diff --git a/103120/examples/json/request_jss_public_key.txt b/103120/examples/json/request_jss_public_key.txt new file mode 100644 index 0000000..fc58e7a --- /dev/null +++ b/103120/examples/json/request_jss_public_key.txt @@ -0,0 +1,4 @@ +-----BEGIN PUBLIC KEY----- +MEMwBQYDK2VxAzoAPTyXPyIqU1VWCuEml1VjvnBYv2I+AvNteIGsTtVc2pT7erIV +LDdJRq18tDhZifqW0WGYSy0yVYQA +-----END PUBLIC KEY----- \ No newline at end of file -- GitLab From eea9133c534bf548e9d9f8bcea659c7c54166f48 Mon Sep 17 00:00:00 2001 From: Herbert Slaghekke Date: Wed, 29 Apr 2026 08:40:14 +0000 Subject: [PATCH 2/2] Adding JSS signatures --- 103120/schema/json/ts_103120_Core.schema.json | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/103120/schema/json/ts_103120_Core.schema.json b/103120/schema/json/ts_103120_Core.schema.json index 3216b8c..69a7f7a 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" -- GitLab