{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://test.developer.iata.org/baggage/alpha/iata-message-digital-signature.v1.0.0-alpha.3.json",
	"title": "Message digital signature",
	"description": "Message digital signature schema follows the section 3.2 JWS JSON Serialization approach, using 7.2.2. Flattened JWS JSON Serialization Syntax of the RFC7515 JSON Web Signature (JWS) specification. Implementers are recommended to specialize the contentSchema in the payload object definition to specify the schema structure of the signed payload.",
	"type": "object",
	"required": [
		"payload",
		"signature"
	],
	"anyOf": [
		{
			"required": [
				"protected"
			]
		},
		{
			"required": [
				"header"
			]
		}
	],
	"properties": {
		"payload": {
			"title": "JWS Payload",
			"description": "Base64url encoded message payload. The payload of the siganture can be the whole message, or selected data objects or elements part of the message.",
			"type": "string",
			"contentEncoding": "base64url",
			"contentMediaType": "application/json",
			"contentSchema": {
				"type": "object"
			}
		},
		"protected": {
			"title": "JWS Protected Header",
			"description": "Base64url encoded JSON object containing integrity protected Header Parameters.",
			"type": "string",
			"contentEncoding": "base64url",
			"contentMediaType": "application/json"
		},
		"header": {
			"title": "JOSE Unprotected Header",
			"description": "JSON object containing the unprotected parameters describing the cryptographic operations and parameters employed. The JOSE (JSON Object Signing and Encryption) Header is comprised of a set of Header Parameters.",
			"type": "object"
		},
		"signature": {
			"title": "JSON Web Signature",
			"description": "Base64url encoded digital signature or MAC over the JWS Protected Header and the JWS Payload.",
			"type": "string",
			"contentEncoding": "base64url",
			"contentMediaType": "application/octet-stream"
		}
	},
	"additionalProperties": false
}