ArchiveJSONBlock.1.schema.json (1942B)
1 { 2 "$schema": "https://json-schema.org/draft/2019-09/schema", 3 "$id": "chrome://browser/content/backup/ArchiveJSONBlock.1.schema.json", 4 "title": "ArchiveJSONBlock", 5 "description": "A schema for the JSON block included with a single-file backup archive created by the BackupService", 6 "type": "object", 7 "properties": { 8 "version": { 9 "type": "integer", 10 "description": "Version of the JSON block structure" 11 }, 12 "encConfig": { 13 "oneOf": [ 14 { "type": "null" }, 15 { 16 "type": "object", 17 "properties": { 18 "wrappedArchiveKeyMaterial": { 19 "type": "string", 20 "description": "The archive encryption key material used to generate the encryption keys for this backup. This is wrapped with an RSA-OAEP public key. Base64 encoded." 21 }, 22 "wrappedSecrets": { 23 "type": "string", 24 "description": "The various static secrets for this backup, wrapped using an AES-GCM key. Base64 encoded." 25 }, 26 "salt": { 27 "type": "string", 28 "description": "The salt used when computing the BackupAuthKey and BackupEncKey. Base64 encoded." 29 }, 30 "nonce": { 31 "type": "string", 32 "description": "The nonce used when wrapping the wrappedSecrets. Base64 encoded." 33 }, 34 "confirmation": { 35 "type": "string", 36 "description": "The confirmation HMAC for the backup metadata. Base64 encoded." 37 } 38 }, 39 "required": [ 40 "wrappedArchiveKeyMaterial", 41 "wrappedSecrets", 42 "salt", 43 "nonce", 44 "confirmation" 45 ] 46 } 47 ] 48 }, 49 "meta": { 50 "$ref": "chrome://browser/content/backup/BackupManifest.1.schema.json#/definitions/metadataType" 51 } 52 }, 53 "required": ["version", "encConfig", "meta"] 54 }