blob: 16ffcc68dbd47b383fbbf7b7bb06bd188a23c275 [file] [log] [blame]
{
"$id": "Telink_Factory_Data_schema",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "A representation of all factory data used in Matter's Telink device",
"type": "object",
"required": [
"version",
"sn",
"vendor_id",
"product_id",
"vendor_name",
"product_name",
"date",
"hw_ver",
"hw_ver_str",
"dac_cert",
"dac_key",
"pai_cert",
"spake2_it",
"spake2_salt",
"spake2_verifier",
"discriminator"
],
"properties": {
"version": {
"description": "Current version of the factory data set",
"type": "integer",
"minimum": 0,
"maximum": 255
},
"sn": {
"description": "Serial number of device",
"type": "string",
"maxLength": 32
},
"vendor_id": {
"description": "Vendor Identifier",
"type": "integer",
"minimum": 0,
"maximum": 65524
},
"product_id": {
"description": "Product Identifier",
"type": "integer",
"minimum": 1,
"maximum": 65535
},
"vendor_name": {
"description": "human-readable vendor name",
"type": "string",
"maxLength": 32
},
"product_name": {
"description": "human-readable product name",
"type": "string",
"maxLength": 32
},
"date": {
"description": "Manufacturing date according to ISO 8601 in notation YYYY-MM-DD",
"type": "string",
"format": "date"
},
"hw_ver": {
"description": "Hardware version - integer",
"type": "integer",
"minimum": 0,
"maximum": 65536
},
"hw_ver_str": {
"description": "A string representation of hardware version",
"type": "string",
"minLength": 1,
"maxLength": 64
},
"rd_uid": {
"description": "A randomly-generated 128-bit or longer octet string. Length has been expanded with 'hex:' prefix",
"type": "string",
"pattern:": "^hex:{1}",
"minLength": 20,
"minLength": 5,
"maxLength": 36
},
"dac_cert": {
"description": "DAC certificate in hex-string format",
"type": "string",
"pattern:": "^hex:{1}([0-9A-Fa-f]){2,}",
"minLength": 5,
"maxLength": 1204
},
"dac_key": {
"description": "DAC Private Key in hex-string format",
"type": "string",
"pattern:": "^hex:{1}([0-9A-Fa-f]){2,}",
"minLength": 68,
"maxLength": 68
},
"pai_cert": {
"description": "PAI certificate in hex-string format",
"type": "string",
"pattern:": "^hex:{1}([0-9A-Fa-f]){2,}",
"minLength": 5,
"maxLength": 1204
},
"passcode": {
"description": "A default PASE session passcode",
"type": "integer",
"minimum": 1,
"maximum": 99999998
},
"spake2_it": {
"description": "An Iteration counter for the Symmetric Password-Authenticated Key Exchange",
"type": "integer",
"minimum": 1000,
"maximum": 100000
},
"spake2_salt": {
"description": "A key-derivation function for the Symmetric Password-Authenticated Key Exchange.",
"type": "string",
"pattern:": "^hex:{1}([0-9A-Fa-f]){2,}",
"minLength": 36,
"maxLength": 68
},
"spake2_verifier": {
"description": "A verifier for the Symmetric Password-Authenticated Key Exchange",
"type": "string",
"pattern:": "^hex:{1}([0-9A-Fa-f]){2,}",
"minLength": 97
},
"discriminator": {
"description": "The Discriminator value helps to further identify potential devices during the setup process.",
"type": "integer",
"minimum": 0,
"maximum": 4095
},
"enable_key": {
"description": "The Enable Key is a 128-bit value that triggers manufacturer-specific action while invoking the TestEventTrigger Command",
"type": "string",
"pattern": "^hex:{1}([0-9A-Fa-f]){32}",
"minLength": 36,
"maxLength": 36
},
"user": {
"description": "A user-specific additional data which should be added to factory data. This should be a Json format.",
"type": "object"
}
}
}