You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DateKeys/testdata/vectors/cbor.json

1665 lines
97 KiB

{
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"spec": "0.9",
"description": "CBOR profile of spec §58 and the schemas of spec/datekeys.cddl, generated by the reference implementation. accept and reject are walked as one data item of the profile with the limits of walk; schemas are decoded with the decoder of their schema. See testdata/README.md.",
"walk": {
"max_depth": 3,
"max_len": 64
},
"accept": [
{
"name": "uint 0",
"hex": "00",
"value": 0
},
{
"name": "uint 23 inline",
"hex": "17",
"value": 23
},
{
"name": "uint 24 one byte",
"hex": "1818",
"value": 24
},
{
"name": "uint 255 one byte",
"hex": "18ff",
"value": 255
},
{
"name": "uint 256 two bytes",
"hex": "190100",
"value": 256
},
{
"name": "uint 65535 two bytes",
"hex": "19ffff",
"value": 65535
},
{
"name": "uint 65536 four bytes",
"hex": "1a00010000",
"value": 65536
},
{
"name": "uint 2^32-1 four bytes",
"hex": "1affffffff",
"value": 4294967295
},
{
"name": "uint 2^32 eight bytes",
"hex": "1b0000000100000000",
"value": 4294967296
},
{
"name": "uint 2^53-1 eight bytes",
"hex": "1b001fffffffffffff",
"value": 9007199254740991
},
{
"name": "uint 2^53 eight bytes",
"hex": "1b0020000000000000",
"value": "9007199254740992"
},
{
"name": "uint 2^64-1 eight bytes",
"hex": "1bffffffffffffffff",
"value": "18446744073709551615"
},
{
"name": "empty bstr",
"hex": "40"
},
{
"name": "bstr of one byte",
"hex": "4100"
},
{
"name": "bstr of 23 bytes, inline length",
"hex": "57ababababababababababababababababababababababab"
},
{
"name": "bstr of 24 bytes, one-byte length",
"hex": "5818abababababababababababababababababababababababab"
},
{
"name": "bstr of 64 bytes, max_len",
"hex": "5840abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab"
},
{
"name": "empty text",
"hex": "60"
},
{
"name": "text a",
"hex": "6161"
},
{
"name": "text with NUL",
"hex": "6100"
},
{
"name": "text with leading BOM",
"hex": "64efbbbf61"
},
{
"name": "text U+FF61",
"hex": "63efbda1"
},
{
"name": "text U+10000",
"hex": "64f0908080"
},
{
"name": "text U+10FFFF",
"hex": "64f48fbfbf"
},
{
"name": "text of 64 bytes, max_len",
"hex": "784061616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161"
},
{
"name": "empty array",
"hex": "80"
},
{
"name": "empty map",
"hex": "a0"
},
{
"name": "map two sorted keys",
"hex": "a200010101"
},
{
"name": "map keys 23 and 24",
"hex": "a21700181800"
},
{
"name": "map keys 255 and 256",
"hex": "a218ff0019010000"
},
{
"name": "map with text and bstr values",
"hex": "a2006161014100"
},
{
"name": "array of mixed items",
"hex": "8500406080a0"
},
{
"name": "array of 64 items, max_len",
"hex": "984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
{
"name": "map of 64 entries, max_len",
"hex": "b84000000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700181800181900181a00181b00181c00181d00181e00181f00182000182100182200182300182400182500182600182700182800182900182a00182b00182c00182d00182e00182f00183000183100183200183300183400183500183600183700183800183900183a00183b00183c00183d00183e00183f00"
},
{
"name": "containers nested 3 deep, max_depth",
"hex": "81818100"
},
{
"name": "map in array in map",
"hex": "a10081a10000"
}
],
"reject": [
{
"name": "empty input",
"hex": "",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "uint 23 with one extra byte",
"hex": "1817",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "uint 255 in two bytes",
"hex": "1900ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "uint 65535 in four bytes",
"hex": "1a0000ffff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "uint 2^32-1 in eight bytes",
"hex": "1b00000000ffffffff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "bstr length not shortest",
"hex": "5800",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "text length not shortest",
"hex": "7800",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "array length not shortest",
"hex": "9800",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "map length not shortest",
"hex": "b800",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "map key not shortest",
"hex": "a1180000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "keys out of order",
"hex": "a201000001",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "duplicate key",
"hex": "a200000001",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "keys out of order in a nested map",
"hex": "a100a201000000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "text key",
"hex": "a1616100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "bstr key",
"hex": "a1416100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "negative integer key",
"hex": "a12000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "array key",
"hex": "a18000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "float key",
"hex": "a1f93c0000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "indefinite array",
"hex": "9f01ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "indefinite map",
"hex": "bf0000ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "indefinite bstr",
"hex": "5f4100ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "indefinite text",
"hex": "7f6161ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "break",
"hex": "ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "tag",
"hex": "c101",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "tag 24, encoded CBOR data item",
"hex": "d8184100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "tag 2, bignum",
"hex": "c24101",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "float",
"hex": "f97e00",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "half-precision float 1.0",
"hex": "f93c00",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "single-precision float 1.0",
"hex": "fa3f800000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "double-precision float 1.0",
"hex": "fb3ff0000000000000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "false",
"hex": "f4",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "true",
"hex": "f5",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "null",
"hex": "f6",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "undefined",
"hex": "f7",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "simple value 16",
"hex": "f0",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "simple value 32",
"hex": "f820",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "negative int",
"hex": "20",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "negative int -25",
"hex": "3818",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "reserved additional information 28",
"hex": "1c",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "reserved additional information 29 in a bstr head",
"hex": "5d",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "reserved additional information 30 in an array head",
"hex": "9e",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated uint",
"hex": "1901",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated eight-byte uint",
"hex": "1b00000000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated bstr",
"hex": "4200",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated text",
"hex": "6261",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated array",
"hex": "8200",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "map without the value of its last key",
"hex": "a100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated map head",
"hex": "b900",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "length beyond input",
"hex": "5affffffff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "array count beyond input",
"hex": "9affffffff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "map count beyond input",
"hex": "baffffffff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "trailing byte",
"hex": "0100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "trailing byte after a map",
"hex": "a000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "invalid UTF-8",
"hex": "61ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "overlong UTF-8",
"hex": "62c080",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "overlong three-byte UTF-8",
"hex": "63e08080",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "UTF-8 surrogate",
"hex": "63eda080",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "truncated UTF-8 sequence",
"hex": "62e282",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "UTF-8 above U+10FFFF",
"hex": "64f4908080",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "invalid UTF-8 in a map value",
"hex": "a10061ff",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "tag inside an array",
"hex": "81c101",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "float inside a map",
"hex": "a100f93c00",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "containers nested 4 deep, above max_depth",
"hex": "8181818100",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "bstr of 65 bytes, above max_len",
"hex": "5841ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "text of 65 bytes, above max_len",
"hex": "78416161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "array of 65 items, above max_len",
"hex": "98410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"error": "ERR_NON_CANONICAL_CBOR"
},
{
"name": "map of 65 entries, above max_len",
"hex": "b84100000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700181800181900181a00181b00181c00181d00181e00181f00182000182100182200182300182400182500182600182700182800182900182a00182b00182c00182d00182e00182f00183000183100183200183300183400183500183600183700183800183900183a00183b00183c00183d00183e00183f00184000",
"error": "ERR_NON_CANONICAL_CBOR"
}
],
"schemas": [
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "Quicknet profile",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ok"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "unknown key 11",
"hex": "ac007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e0b00",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "missing key 10, genesis_seed",
"hex": "aa007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d72666339333830",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "missing key 6, public_key",
"hex": "aa007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e9710703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "keys 2 and 3 out of order",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c65010103656472616e640274646174656b6579733a717569636b6e65743a76310468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period as a text string",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a076133081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "chain_hash as a text string",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e65740578406162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616206586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "null genesis_seed",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300af6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "chain_hash of 31 bytes",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405581f52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e906586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "genesis_seed of 33 bytes",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5821f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e00",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period 0",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0700081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "network default, left out of the chain hash",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e64046764656661756c74055820bb53bd3c1f404463b224d27e22872c4754f7d4f5549693d349f616c3ac27d4a906586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ok"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period of one day, the implementation limit",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e6574055820c11da7002fbe7b2ab5db749677c90aed2afdf497830e0b1ffecb743c823b288806586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a071a00015180081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ok"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period of one day and one second, above the implementation limit",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582031383a308a47c8d7e3d3523953720259090943f8f66a41eaf61ccacc66228e0a06586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a071a00015181081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period 2^53",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a071b0020000000000000081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "genesis_time 2^53",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081b0020000000000000097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "negative genesis_time",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a07030820097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "period not in shortest form",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a071a00000003081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "schema version 2",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501020274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "schema version 2 and an unknown key 11: the version is read first",
"hex": "ac007819646174656b6579732d70726f76696465722d70726f66696c6501020274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e0b00",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "schema version 2^53",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c65011b00200000000000000274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "type tag of PUBLIC_HEADER",
"hex": "ab006a646174656b657963617001010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "type tag of PUBLIC_HEADER and schema version 2: the type tag is checked first",
"hex": "ab006a646174656b657963617001020274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "invalid profile_id",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274446174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "network changed: the chain hash no longer matches",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640469717569636b6e65743205582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_PROFILE_MISMATCH"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "network changed with its chain hash",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640469717569636b6e657432055820f9ebb46d628f46c5337d56d07caff03a068bfc999069229248124c18cec7628a06586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ok"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "empty public_key",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106400703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "public_key of 1025 bytes",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e6574055820ee45f5fd67c9882102c9e97de655ef03d5dc080c2622437f29fe3d55e044a7a006590401aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "public_key that is not a group element",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e6574055820313a115287626894ee150d2c0465aaae0241143a68ae351f4d123b1cf2c8379f0658600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "public_key the identity element",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e65740558206889aad9dcb373aed5873d336eba3f07c5b06b3934126e49377534cbd2219582065860c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "provider other than drand",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103666472616e64320468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "unknown scheme",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e62127096b626c732d756e6b6e6f776e0a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "scheme pedersen-bls-chained, not supported by tlock",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e657405582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e97106586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081a64e621270974706564657273656e2d626c732d636861696e65640a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "genesis_time 0",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e65740558203c9211f43dcdf3ffdc7c19ab0a111b844c063d27b2cfc558ed22752bb60f9b3806586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a07030800097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "genesis_time 253402300798, 9999-12-31T23:59:58Z",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e65740558205daeb5ff2fdfcd368828087dd982690008eccb638dc31cb78b7bfa450cbede1806586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081b0000003afff4417e097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ok"
},
{
"block": "provider_profile",
"schema": "provider_profile",
"name": "genesis_time 253402300799, 9999-12-31T23:59:59Z",
"hex": "ab007819646174656b6579732d70726f76696465722d70726f66696c6501010274646174656b6579733a717569636b6e65743a763103656472616e640468717569636b6e6574055820bc40718f2c5f868c82f31e803bbfed2a5d1260c0c408aa6fa14f0da1603be73006586083cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a0703081b0000003afff4417f097818626c732d756e636861696e65642d67312d726663393338300a5820f477d5c89f21a17c863a7f937c6a6d15859414d2be09cd448d4279af331c5d3e",
"result": "ERR_UNKNOWN_PROFILE"
},
{
"block": "public_header",
"schema": "public_header",
"name": "minimal header",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ok"
},
{
"block": "public_header",
"schema": "public_header",
"name": "time_and_key policy",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300401",
"result": "ok"
},
{
"block": "public_header",
"schema": "public_header",
"name": "both extension arrays",
"hex": "a7006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000581a2006d6f72672e6578616d706c652e6101010681a3006d6f72672e6578616d706c652e620101024100",
"result": "ok"
},
{
"block": "public_header",
"schema": "public_header",
"name": "DateKey of a profile that is not pinned: the registry decides",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037850646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d365a585a74626d56304f6e597849697769636d3931626d51694f6a45774d4442390400",
"result": "ok"
},
{
"block": "public_header",
"schema": "public_header",
"name": "unknown key 7",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000700",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "missing key 2, capsule_id",
"hex": "a4006a646174656b65796361700101037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "missing key 4, access_policy",
"hex": "a4006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "keys 3 and 4 out of order",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f0400037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "capsule_id as a text string",
"hex": "a5006a646174656b65796361700101027030313233343536373839616263646566037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "DateKey as a byte string",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f035853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "capsule_id of 15 bytes",
"hex": "a5006a646174656b65796361700101024f000102030405060708090a0b0c0d0e037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "capsule_id of 17 bytes",
"hex": "a5006a646174656b657963617001010251000102030405060708090a0b0c0d0e0f10037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "access_policy 2",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300402",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "access_policy 256",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004190100",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "access_policy not in shortest form",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830041800",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "null access_policy",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "schema version 2",
"hex": "a5006a646174656b657963617001020250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "public_header",
"schema": "public_header",
"name": "schema version 2 and a trailing byte: the version is read first",
"hex": "a5006a646174656b657963617001020250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830040000",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "public_header",
"schema": "public_header",
"name": "schema version 2^53",
"hex": "a5006a646174656b6579636170011b00200000000000000250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "schema version 2^64-1",
"hex": "a5006a646174656b6579636170011bffffffffffffffff0250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "type tag of CONTROL_CBOR",
"hex": "a50070646174656b6579732d636f6e74726f6c01010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "type tag of CONTROL_CBOR and schema version 2: the type tag is checked first",
"hex": "a50070646174656b6579732d636f6e74726f6c01020250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "empty critical_extensions",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000580",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "same extension_id in both arrays",
"hex": "a7006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000581a2006d6f72672e6578616d706c652e6101010681a2006d6f72672e6578616d706c652e610101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "trailing byte after the map",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830040000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "public_header",
"schema": "public_header",
"name": "non-canonical dk1_ JSON",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037856646b315f65794a325a584a7a61573975496a6f784c434169626d56306432397961794936496d5268644756725a586c7a4f6e463161574e72626d56304f6e597849697767496e4a766457356b496a6f784d44417766510400",
"result": "ERR_DATEKEY_NON_CANONICAL"
},
{
"block": "public_header",
"schema": "public_header",
"name": "DateKey that is not dk1_",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f036568656c6c6f0400",
"result": "ERR_DATEKEY_INVALID"
},
{
"block": "public_header",
"schema": "public_header",
"name": "non-canonical DateKey and undefined access_policy: the CDDL is checked first",
"hex": "a5006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037856646b315f65794a325a584a7a61573975496a6f784c434169626d56306432397961794936496d5268644756725a586c7a4f6e463161574e72626d56304f6e597849697767496e4a766457356b496a6f784d44417766510402",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "minimal control",
"hex": "a40070646174656b6579732d636f6e74726f6c010102582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "both extension arrays",
"hex": "a60070646174656b6579732d636f6e74726f6c0101025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220481a2006d6f72672e6578616d706c652e6101010581a3006d6f72672e6578616d706c652e620101024178",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"name": "key 6, defined only in schema version 2",
"hex": "a50070646174656b6579732d636f6e74726f6c0101025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220600",
"result": "ERR_NON_CANONICAL_CBOR"
},
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "keys 6 and 7 of schema version 2",
"hex": "a60070646174656b6579732d636f6e74726f6c010102582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "missing key 3, payload_identity",
"hex": "a30070646174656b6579732d636f6e74726f6c01010258201111111111111111111111111111111111111111111111111111111111111111",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "missing key 2, header_binding",
"hex": "a30070646174656b6579732d636f6e74726f6c01010358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "header_binding as a text string",
"hex": "a40070646174656b6579732d636f6e74726f6c010102782061616161616161616161616161616161616161616161616161616161616161610358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "header_binding of 31 bytes",
"hex": "a40070646174656b6579732d636f6e74726f6c010102581f111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "payload_identity of 33 bytes",
"hex": "a40070646174656b6579732d636f6e74726f6c01010258201111111111111111111111111111111111111111111111111111111111111111035821222222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "null payload_identity",
"hex": "a40070646174656b6579732d636f6e74726f6c0101025820111111111111111111111111111111111111111111111111111111111111111103f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "schema version 2",
"hex": "a40070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_UNSUPPORTED_VERSION"
},
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "schema version 2 with keys 6 and 7",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000702",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "type tag of PUBLIC_HEADER",
"hex": "a4006a646174656b6579636170010102582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"name": "empty noncritical_extensions",
"hex": "a50070646174656b6579732d636f6e74726f6c0101025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220580",
"result": "ERR_NON_CANONICAL_CBOR"
},
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: minimal control, 103 bytes, L = 0",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000702",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: both extension arrays",
"hex": "a80070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220481a2006d6f72672e6578616d706c652e6101010581a3006d6f72672e6578616d706c652e620101024178064800000000000000000702",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length 78000",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000130b00702",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length 2^32+1, 48 0000000100000001",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000001000000010702",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length L_MAX = 2^53-2^46",
"hex": "a60070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220648001fc000000000000702",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: padding 1, bloque256",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000701",
"result": "ok"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length L_MAX + 1",
"hex": "a60070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220648001fc000000000010702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length 2^53",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800200000000000000702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length 2^64-1",
"hex": "a60070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220648ffffffffffffffff0702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length of 7 bytes",
"hex": "a60070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220647000000000130b00702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length of 9 bytes",
"hex": "a60070646174656b6579732d636f6e74726f6c01020258201111111111111111111111111111111111111111111111111111111111111111035820222222222222222222222222222222222222222222222222222222222222222206490000000000000130b00702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length as an unsigned integer",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222061a000130b00702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: payload_length with a length not in its shortest form",
"hex": "a60070646174656b6579732d636f6e74726f6c01020258201111111111111111111111111111111111111111111111111111111111111111035820222222222222222222222222222222222222222222222222222222222222222206580800000000000130b00702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: padding 0",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000700",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: padding 3",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000703",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: padding 257",
"hex": "a60070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220648000000000000000007190101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: padding as a byte string",
"hex": "a60070646174656b6579732d636f6e74726f6c01020258201111111111111111111111111111111111111111111111111111111111111111035820222222222222222222222222222222222222222222222222222222222222222206480000000000000000074102",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: missing key 6, payload_length",
"hex": "a50070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220702",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: missing key 7, padding",
"hex": "a50070646174656b6579732d636f6e74726f6c01020258201111111111111111111111111111111111111111111111111111111111111111035820222222222222222222222222222222222222222222222222222222222222222206480000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: keys 6 and 7 out of order",
"hex": "a60070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222070206480000000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: unknown key 8",
"hex": "a70070646174656b6579732d636f6e74726f6c0102025820111111111111111111111111111111111111111111111111111111111111111103582022222222222222222222222222222222222222222222222222222222222222220648000000000000000007020800",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: schema version 2 without keys 6 and 7",
"hex": "a40070646174656b6579732d636f6e74726f6c010202582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: schema version 1, a valid format 1 control",
"hex": "a40070646174656b6579732d636f6e74726f6c010102582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: schema version 1 with keys 6 and 7",
"hex": "a60070646174656b6579732d636f6e74726f6c010102582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000702",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "control_cbor",
"schema": "control_cbor",
"format": 2,
"name": "format 2: schema version 3",
"hex": "a60070646174656b6579732d636f6e74726f6c010302582011111111111111111111111111111111111111111111111111111111111111110358202222222222222222222222222222222222222222222222222222222222222222064800000000000000000702",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "minimal body",
"hex": "a60073646174656b6579732d6163636573732d6b6579010102503333333333333333333333333333333303504444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ok"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "verification_metadata and both extension arrays",
"hex": "a90073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a100582066666666666666666666666666666666666666666666666666666666666666660781a2006d6f72672e6578616d706c652e6101010881a3006d6f72672e6578616d706c652e620101024178",
"result": "ok"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "unknown key 9",
"hex": "a70073646174656b6579732d6163636573732d6b65790101025033333333333333333333333333333333035044444444444444444444444444444444046678323535313905582055555555555555555555555555555555555555555555555555555555555555550900",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "missing key 5, access_material",
"hex": "a50073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "missing key 3, capsule_id",
"hex": "a50073646174656b6579732d6163636573732d6b6579010102503333333333333333333333333333333304667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "access_type as a byte string",
"hex": "a60073646174656b6579732d6163636573732d6b6579010102503333333333333333333333333333333303504444444444444444444444444444444404467832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "credential_id of 15 bytes",
"hex": "a60073646174656b6579732d6163636573732d6b65790101024f33333333333333333333333333333303504444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "capsule_id of 17 bytes",
"hex": "a60073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330351444444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "null access_material",
"hex": "a60073646174656b6579732d6163636573732d6b65790101025033333333333333333333333333333333035044444444444444444444444444444444046678323535313905f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "access_type x448",
"hex": "a60073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440464783434380558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_ACCESS_INVALID"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "access_material of 31 bytes",
"hex": "a60073646174656b6579732d6163636573732d6b65790101025033333333333333333333333333333333035044444444444444444444444444444444046678323535313905581f55555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_ACCESS_INVALID"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "access_material of 33 bytes",
"hex": "a60073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055821555555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_ACCESS_INVALID"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "schema version 2",
"hex": "a60073646174656b6579732d6163636573732d6b6579010202503333333333333333333333333333333303504444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_UNSUPPORTED_VERSION"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "type tag of CONTROL_CBOR",
"hex": "a60070646174656b6579732d636f6e74726f6c010102503333333333333333333333333333333303504444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "dkk_body",
"schema": "dkk_body",
"name": "empty critical_extensions",
"hex": "a70073646174656b6579732d6163636573732d6b65790101025033333333333333333333333333333333035044444444444444444444444444444444046678323535313905582055555555555555555555555555555555555555555555555555555555555555550780",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "capsule_digest",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a10058206666666666666666666666666666666666666666666666666666666666666666",
"result": "ok"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "empty map",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a0",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "unknown key 1 instead of key 0",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a10158206666666666666666666666666666666666666666666666666666666666666666",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "unknown key 1 after capsule_digest",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a200582066666666666666666666666666666666666666666666666666666666666666660100",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "capsule_digest of 31 bytes",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a100581f66666666666666666666666666666666666666666666666666666666666666",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "capsule_digest of 33 bytes",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a1005821666666666666666666666666666666666666666666666666666666666666666666",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "capsule_digest as a text string",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a10078206666666666666666666666666666666666666666666666666666666666666666",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "null capsule_digest",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506a100f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "verification_metadata as an array",
"hex": "a70073646174656b6579732d6163636573732d6b6579010102503333333333333333333333333333333303504444444444444444444444444444444404667832353531390558205555555555555555555555555555555555555555555555555555555555555555068158206666666666666666666666666666666666666666666666666666666666666666",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "verification_metadata",
"schema": "dkk_body",
"name": "null verification_metadata",
"hex": "a70073646174656b6579732d6163636573732d6b657901010250333333333333333333333333333333330350444444444444444444444444444444440466783235353139055820555555555555555555555555555555555555555555555555555555555555555506f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "one extension without data",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652e610101",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "data of one byte",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e610101024100",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "data that is not CBOR",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e6101010242fffe",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "data 40, an empty byte string",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e6101010240",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data 5801xx, a length not in its shortest form",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e6101010258012a",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as a text string",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e610101026c7075626c6963206c6162656c",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "null data",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e61010102f6",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as an unsigned integer",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e6101010207",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as a map",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e61010102a10007",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as an array",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e61010102814100",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as a tagged byte string",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e61010102c14100",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "data as an indefinite-length byte string",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e610101025f4100ff",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "64 extensions",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400069840a2006f6f72672e6578616d706c652e3030300101a2006f6f72672e6578616d706c652e3030310101a2006f6f72672e6578616d706c652e3030320101a2006f6f72672e6578616d706c652e3030330101a2006f6f72672e6578616d706c652e3030340101a2006f6f72672e6578616d706c652e3030350101a2006f6f72672e6578616d706c652e3030360101a2006f6f72672e6578616d706c652e3030370101a2006f6f72672e6578616d706c652e3030380101a2006f6f72672e6578616d706c652e3030390101a2006f6f72672e6578616d706c652e3031300101a2006f6f72672e6578616d706c652e3031310101a2006f6f72672e6578616d706c652e3031320101a2006f6f72672e6578616d706c652e3031330101a2006f6f72672e6578616d706c652e3031340101a2006f6f72672e6578616d706c652e3031350101a2006f6f72672e6578616d706c652e3031360101a2006f6f72672e6578616d706c652e3031370101a2006f6f72672e6578616d706c652e3031380101a2006f6f72672e6578616d706c652e3031390101a2006f6f72672e6578616d706c652e3032300101a2006f6f72672e6578616d706c652e3032310101a2006f6f72672e6578616d706c652e3032320101a2006f6f72672e6578616d706c652e3032330101a2006f6f72672e6578616d706c652e3032340101a2006f6f72672e6578616d706c652e3032350101a2006f6f72672e6578616d706c652e3032360101a2006f6f72672e6578616d706c652e3032370101a2006f6f72672e6578616d706c652e3032380101a2006f6f72672e6578616d706c652e3032390101a2006f6f72672e6578616d706c652e3033300101a2006f6f72672e6578616d706c652e3033310101a2006f6f72672e6578616d706c652e3033320101a2006f6f72672e6578616d706c652e3033330101a2006f6f72672e6578616d706c652e3033340101a2006f6f72672e6578616d706c652e3033350101a2006f6f72672e6578616d706c652e3033360101a2006f6f72672e6578616d706c652e3033370101a2006f6f72672e6578616d706c652e3033380101a2006f6f72672e6578616d706c652e3033390101a2006f6f72672e6578616d706c652e3034300101a2006f6f72672e6578616d706c652e3034310101a2006f6f72672e6578616d706c652e3034320101a2006f6f72672e6578616d706c652e3034330101a2006f6f72672e6578616d706c652e3034340101a2006f6f72672e6578616d706c652e3034350101a2006f6f72672e6578616d706c652e3034360101a2006f6f72672e6578616d706c652e3034370101a2006f6f72672e6578616d706c652e3034380101a2006f6f72672e6578616d706c652e3034390101a2006f6f72672e6578616d706c652e3035300101a2006f6f72672e6578616d706c652e3035310101a2006f6f72672e6578616d706c652e3035320101a2006f6f72672e6578616d706c652e3035330101a2006f6f72672e6578616d706c652e3035340101a2006f6f72672e6578616d706c652e3035350101a2006f6f72672e6578616d706c652e3035360101a2006f6f72672e6578616d706c652e3035370101a2006f6f72672e6578616d706c652e3035380101a2006f6f72672e6578616d706c652e3035390101a2006f6f72672e6578616d706c652e3036300101a2006f6f72672e6578616d706c652e3036310101a2006f6f72672e6578616d706c652e3036320101a2006f6f72672e6578616d706c652e3036330101",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "65 extensions",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400069841a2006f6f72672e6578616d706c652e3030300101a2006f6f72672e6578616d706c652e3030310101a2006f6f72672e6578616d706c652e3030320101a2006f6f72672e6578616d706c652e3030330101a2006f6f72672e6578616d706c652e3030340101a2006f6f72672e6578616d706c652e3030350101a2006f6f72672e6578616d706c652e3030360101a2006f6f72672e6578616d706c652e3030370101a2006f6f72672e6578616d706c652e3030380101a2006f6f72672e6578616d706c652e3030390101a2006f6f72672e6578616d706c652e3031300101a2006f6f72672e6578616d706c652e3031310101a2006f6f72672e6578616d706c652e3031320101a2006f6f72672e6578616d706c652e3031330101a2006f6f72672e6578616d706c652e3031340101a2006f6f72672e6578616d706c652e3031350101a2006f6f72672e6578616d706c652e3031360101a2006f6f72672e6578616d706c652e3031370101a2006f6f72672e6578616d706c652e3031380101a2006f6f72672e6578616d706c652e3031390101a2006f6f72672e6578616d706c652e3032300101a2006f6f72672e6578616d706c652e3032310101a2006f6f72672e6578616d706c652e3032320101a2006f6f72672e6578616d706c652e3032330101a2006f6f72672e6578616d706c652e3032340101a2006f6f72672e6578616d706c652e3032350101a2006f6f72672e6578616d706c652e3032360101a2006f6f72672e6578616d706c652e3032370101a2006f6f72672e6578616d706c652e3032380101a2006f6f72672e6578616d706c652e3032390101a2006f6f72672e6578616d706c652e3033300101a2006f6f72672e6578616d706c652e3033310101a2006f6f72672e6578616d706c652e3033320101a2006f6f72672e6578616d706c652e3033330101a2006f6f72672e6578616d706c652e3033340101a2006f6f72672e6578616d706c652e3033350101a2006f6f72672e6578616d706c652e3033360101a2006f6f72672e6578616d706c652e3033370101a2006f6f72672e6578616d706c652e3033380101a2006f6f72672e6578616d706c652e3033390101a2006f6f72672e6578616d706c652e3034300101a2006f6f72672e6578616d706c652e3034310101a2006f6f72672e6578616d706c652e3034320101a2006f6f72672e6578616d706c652e3034330101a2006f6f72672e6578616d706c652e3034340101a2006f6f72672e6578616d706c652e3034350101a2006f6f72672e6578616d706c652e3034360101a2006f6f72672e6578616d706c652e3034370101a2006f6f72672e6578616d706c652e3034380101a2006f6f72672e6578616d706c652e3034390101a2006f6f72672e6578616d706c652e3035300101a2006f6f72672e6578616d706c652e3035310101a2006f6f72672e6578616d706c652e3035320101a2006f6f72672e6578616d706c652e3035330101a2006f6f72672e6578616d706c652e3035340101a2006f6f72672e6578616d706c652e3035350101a2006f6f72672e6578616d706c652e3035360101a2006f6f72672e6578616d706c652e3035370101a2006f6f72672e6578616d706c652e3035380101a2006f6f72672e6578616d706c652e3035390101a2006f6f72672e6578616d706c652e3036300101a2006f6f72672e6578616d706c652e3036310101a2006f6f72672e6578616d706c652e3036320101a2006f6f72672e6578616d706c652e3036330101a2006f6f72672e6578616d706c652e3036340101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "empty array",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000680",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id starting with a BOM",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a20070efbbbf6f72672e6578616d706c652e610101",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "U+FF61 before U+10000: UTF-8 byte order",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000682a20063efbda10101a20064f09080800101",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "U+10000 before U+FF61: UTF-16 order, not UTF-8 byte order",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000682a20064f09080800101a20063efbda10101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extensions out of order",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000682a2006d6f72672e6578616d706c652e620101a2006d6f72672e6578616d706c652e610101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id repeated",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000682a2006d6f72672e6578616d706c652e610101a2006d6f72672e6578616d706c652e610102",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_version 2^32-1",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652e61011affffffff",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_version 2^32",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652e61011b0000000100000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_version 2^53",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652e61011b0020000000000000",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_version 0",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652e610100",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "unknown key 3",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a3006d6f72672e6578616d706c652e610101034100",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "missing key 1, extension_version",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a1006d6f72672e6578616d706c652e61",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "missing key 0, extension_id",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a10101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "keys 0 and 1 out of order",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a20101006d6f72672e6578616d706c652e61",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id as a byte string",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2004d6f72672e6578616d706c652e610101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "empty extension_id",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a200600101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id of 256 bytes, the implementation limit",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a200790100616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161610101",
"result": "ok"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id of 257 bytes, above the implementation limit",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a20079010161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161610101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension_id that is not valid UTF-8",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000681a2006d6f72672e6578616d706c652eff0101",
"result": "ERR_NON_CANONICAL_CBOR"
},
{
"block": "extension",
"schema": "public_header",
"name": "extension that is not a map",
"hex": "a6006a646174656b657963617001010250000102030405060708090a0b0c0d0e0f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300400068101",
"result": "ERR_NON_CANONICAL_CBOR"
}
]
}

Powered by TurnKey Linux.