specVersion is 0.15 and testdata is synced with datekeys-go at 3c3e737
(branch v0.15): every file changes its spec field, mutations.json gains the
field source and four cases, and vectors/release.json and releases/ are new
(142 files).
release.dart, as provider of Go at 2eeca40, with its texts: encodeRelease
and decodeRelease of the release object (spec v0.15, 47.1) with the CBOR
profile of the library, its size first, then its type and version, then its
schema; parseRelease, which also reads drand's JSON with the rules of
encoding/json of Go for its three fields; verifyRelease checks the chain hash
a release names, ERR_PROFILE_MISMATCH, before its round and its signature;
ReleaseSupplier, EncodedRelease and supplyRelease, a release in the caller's
hand; and ReleaseArchive, the lookup of a local release archive (50), whose
failures are ERR_RELEASE_UNAVAILABLE at step 9.
open: OpenOptions.release takes a release in hand, exclusive with source. It
is not compared with the clock (step 9.c); Opened.clockBehind reports a clock
behind it, and the step 9 detail is Go's. Step 10 starts with the layers of
the object. A network source keeps its behaviour. Opened.release carries the
chain hash of the pinned profile.
Vectors: mutation_texts.json is regenerated with tool/mutation_go_texts.go,
which now replays each case with its source as testkit does: 149 cases
change only the detail of step 9 ("release supplied by the caller"), the
case "round not reached yet" now opens, and the four new cases are added.
release_vectors.json, the open vectors, and the formats, locator, security
and seal vectors come out the same at 3c3e737 but for their spec field.
tool/release_archive_go_texts.go writes the texts of provider.Archive on
edited archives; tool/release_copy.dart copies release.json, releases/ and
those texts to release.g.dart for the tests compiled to JavaScript.
errors_spec_test reads the spec at the commit of testdata/SOURCE.json rather
than at its tag.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
"description":"CONTROL_CBOR of the three formats (capsule.DecodeControl) of the fixtures, in their format and in another, edited, and built field by field.",
"description":"The encoders on values: capsule.EncodeHeader and EncodeControl, accesskey.Encode, profile.NewRegistry, and the canonical JSON and dk1_ string of DateKeys (CanonicalJSON and Compact, empty when not valid); an encoding is in hex, or as its length and SHA-256 when it is large. big is the size of the data of the noncritical extension a of version 1, bytes 0x01, that takes the object to its limit. limits: the decoders on objects at the limits of spec §57 and one byte past them: zeros bytes of zeros, or an extension array 81 a3 00 61 61 01 01 02 5a <len, 4 bytes> and len bytes 0x07 (extension_data), or Canonical of the extension a of version 1 whose data is len zeros (extension_canonical).",
"description":"Extension arrays through codec.Unmarshal with extension.DecodeArray and EncodeArray, Canonical, CheckDisjoint, CheckCriticalIn and CheckNoncriticalIn with the registry placed of the generator (or CheckCritical and CheckNoncritical when object is empty, and no registry when registry is none), and CheckWrite with extension.Standard.",
"description":"The PRELUDE of a .dkc (capsule.ParsePrelude), the steps 1 to 3 of capsule.Inspect on truncated and edited fixtures (with the step that fails, 0 when steps 1 to 8 pass), and whole .dkk files (accesskey.Decode), with the result, the code and the text of the Go reference.",
"description":"capsule.PaddedLength with both codes and capsule.PayloadAgeLength, at the boundaries of spec §29.1 up to L_MAX and past it; a code with null was rejected with text. check: the plaintext of PAYLOAD_AGE checked by capsule.Open against L and P (step 17): the content of the fixture (its .plaintext) followed by zeros, cut or extended to length bytes, with the byte at at set to value when given; step 0 when the capsule opens.",
"description":"RFC 3339: time.Parse with time.RFC3339Nano, ok or error, and Format with RFC3339 and RFC3339Nano in UTC; datekey.Resolve, RoundTime and DateKey.Validate, and Profile.MaxRound, on the Quicknet profile with other genesis times and periods.",
"description":"The PRELUDE of a .dkc (capsule.ParsePrelude), the steps 1 to 3 of capsule.Inspect on truncated and edited fixtures (with the step that fails, 0 when steps 1 to 8 pass), and whole .dkk files (accesskey.Decode), with the result, the code and the text of the Go reference.",
"description":"PUBLIC_HEADER (capsule.DecodeHeader) of the fixtures, edited, and built field by field.",
"header":[
@ -301,7 +301,7 @@ const formatsHeaderJson = r'''
///Partoftest/vectors/formats_control.json.
constformatsControlJson=r'''
{
"spec":"0.14",
"spec":"0.15",
"generator":"tool/formats_go_vectors.go",
"description":"CONTROL_CBOR of the three formats (capsule.DecodeControl) of the fixtures, in their format and in another, edited, and built field by field.",
"description":"Extension arrays through codec.Unmarshal with extension.DecodeArray and EncodeArray, Canonical, CheckDisjoint, CheckCriticalIn and CheckNoncriticalIn with the registry placed of the generator (or CheckCritical and CheckNoncritical when object is empty, and no registry when registry is none), and CheckWrite with extension.Standard.",
"description":"RFC 3339: time.Parse with time.RFC3339Nano, ok or error, and Format with RFC3339 and RFC3339Nano in UTC; datekey.Resolve, RoundTime and DateKey.Validate, and Profile.MaxRound, on the Quicknet profile with other genesis times and periods.",
"parse":[
@ -817,7 +817,7 @@ const formatsTimeJson = r'''
///Partoftest/vectors/formats_padding.json.
constformatsPaddingJson=r'''
{
"spec":"0.14",
"spec":"0.15",
"generator":"tool/formats_go_vectors.go",
"description":"capsule.PaddedLength with both codes and capsule.PayloadAgeLength, at the boundaries of spec §29.1 up to L_MAX and past it; a code with null was rejected with text. check: the plaintext of PAYLOAD_AGE checked by capsule.Open against L and P (step 17): the content of the fixture (its .plaintext) followed by zeros, cut or extended to length bytes, with the byte at at set to value when given; step 0 when the capsule opens.",
"description":"The encoders on values: capsule.EncodeHeader and EncodeControl, accesskey.Encode, profile.NewRegistry, and the canonical JSON and dk1_ string of DateKeys (CanonicalJSON and Compact, empty when not valid); an encoding is in hex, or as its length and SHA-256 when it is large. big is the size of the data of the noncritical extension a of version 1, bytes 0x01, that takes the object to its limit. limits: the decoders on objects at the limits of spec §57 and one byte past them: zeros bytes of zeros, or an extension array 81 a3 00 61 61 01 01 02 5a <len, 4 bytes> and len bytes 0x07 (extension_data), or Canonical of the extension a of version 1 whose data is len zeros (extension_canonical).",
"header":[
@ -932,7 +932,7 @@ const formatsEncodeJson = r'''
///Partoftest/vectors/formats_body.json.
constformatsBodyJson=r'''
{
"spec":"0.14",
"spec":"0.15",
"generator":"tool/formats_go_vectors.go",
"description":"The frame of BODY (capsule.ParseBodyFrame) against L, and the zeros of the security area (capsule.CheckArea).",
"description":"The text of the error of capsule.Open for every case of testdata/vectors/mutations.json, or ok for a capsule that opens, and its checks as [step, name, ok, detail, code]; go_error and go_step where Go and the corpus disagree. See the header of tool/mutation_go_texts.go.",
"cases":[
{"name":"PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1001 obtained",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"non-canonical dk1_ JSON","text":"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=124, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"124 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","ERR_DATEKEY_NON_CANONICAL"]]},
{"name":"unknown profile","text":"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=118, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"118 bytes",""],[4,"header validation",false,"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","ERR_UNKNOWN_PROFILE"]]},
{"name":"release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"extra stanza in OUTER_TIME_AGE","text":"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=544",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ac64a02dff47ec22aaf1a44b1a89605d datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",false,"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"extra stanza in PAYLOAD_AGE","text":"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=3f985af7af37ad62b40ec5ccc3c6b8d1 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",false,"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 1 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=726",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c800935c81d094a93d56b9fad957b18b datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 1 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 1 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=726",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c800935c81d094a93d56b9fad957b18b datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 1 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"extension data of a type other than bstr","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"159 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"empty extension data (h'')","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=147, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"147 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"65 extensions in one array","text":"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=1424, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"1424 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=445",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=447",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=250416bc1e6d8da84f5a69e47a9f66f2 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1004 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=445",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=447",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=250416bc1e6d8da84f5a69e47a9f66f2 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"a .dkk offered as a .dkc","text":"capsule: ERR_INVALID_MAGIC","checks":[[1,"parse DKC1",false,"capsule: ERR_INVALID_MAGIC","ERR_INVALID_MAGIC"]]},
{"name":"access_policy 256 with a consistent header_binding","text":"capsule: PUBLIC_HEADER: key 4: access_policy 256 is not defined in V1: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=123, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"123 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 4: access_policy 256 is not defined in V1: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"access_policy 257 with a consistent header_binding","text":"capsule: PUBLIC_HEADER: key 4: access_policy 257 is not defined in V1: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=123, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"123 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 4: access_policy 257 is not defined in V1: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"null extension data","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a float or simple value (initial byte 0xf6) is outside the CBOR profile: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=147, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"147 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a float or simple value (initial byte 0xf6) is outside the CBOR profile: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"time_and_key without credentials","text":"capsule: time_and_key capsule and no identity or .dkk supplied: ERR_ACCESS_REQUIRED","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: time_and_key capsule and no identity or .dkk supplied: ERR_ACCESS_REQUIRED","ERR_ACCESS_REQUIRED"]]},
{"name":".dkk of another capsule","text":"capsule: the .dkk is for capsule c75dfc8e9c576d1369910664df93693a, this is 448e134a13457c319cab7fceaf7ffa1f: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk is for capsule c75dfc8e9c576d1369910664df93693a, this is 448e134a13457c319cab7fceaf7ffa1f: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"capsule_digest of the .dkk does not match","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"identity that is not a recipient","text":"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 1 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"round not reached yet","text":"capsule: round 1000 is published at 2023-08-23T15:59:24Z, it is 2023-08-23T15:59:23Z: ERR_RELEASE_UNAVAILABLE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",false,"capsule: round 1000 is published at 2023-08-23T15:59:24Z, it is 2023-08-23T15:59:23Z: ERR_RELEASE_UNAVAILABLE","ERR_RELEASE_UNAVAILABLE"]]},
{"name":"identity that is not a recipient","text":"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 1 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"round not reached yet","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller; round 1000 is published at 2023-08-23T15:59:24Z and the clock says 2023-08-23T15:59:23Z: it may be behind",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",true,"payload authenticated",""],[18,"commit",true,"78000 bytes of content",""]]},
{"name":"release source unavailable","text":"testkit: no release: ERR_RELEASE_UNAVAILABLE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",false,"testkit: no release: ERR_RELEASE_UNAVAILABLE","ERR_RELEASE_UNAVAILABLE"]]},
{"name":"trailing data after PAYLOAD_AGE","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload stanza body modified","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"trailing data after PAYLOAD_AGE","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload stanza body modified","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"tlock round edited by a third party","text":"agewrap: tlock stanza round \"1001\", DateKey round 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",false,"agewrap: tlock stanza round \"1001\", DateKey round 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"empty registry","text":"capsule: profile \"datekeys:quicknet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",false,"capsule: profile \"datekeys:quicknet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","ERR_UNKNOWN_PROFILE"]]},
{"name":"time_only declared, time_and_key built by the creator","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=238e2912d6448dce358dec034cc73984 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"time_and_key declared, time_only built by the creator","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=a44c9b18fda29aea727f5398ecf967ce datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"two INNER_ACCESS_AGE stanzas for one recipient","text":"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=744",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=1d983beefec16c1a312696440735330c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 2 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 2: SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1001 obtained",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"time_only declared, time_and_key built by the creator","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=238e2912d6448dce358dec034cc73984 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"time_and_key declared, time_only built by the creator","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=a44c9b18fda29aea727f5398ecf967ce datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"two INNER_ACCESS_AGE stanzas for one recipient","text":"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=744",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=1d983beefec16c1a312696440735330c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 2 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 2: SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"format 2: version changed","text":"capsule: framing version 4: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",false,"capsule: framing version 4: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 2: payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: non-canonical dk1_ JSON","text":"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=124, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"124 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","ERR_DATEKEY_NON_CANONICAL"]]},
{"name":"format 2: unknown profile","text":"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=118, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"118 bytes",""],[4,"header validation",false,"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","ERR_UNKNOWN_PROFILE"]]},
{"name":"format 2: release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: extra stanza in OUTER_TIME_AGE","text":"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=556",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=9667d509fc51ccede898d232ce74d47f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",false,"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: extra stanza in PAYLOAD_AGE","text":"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=4938a3c96f0d6e9a5e0d81dc533705c2 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",false,"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2110",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=4100a310fc7101779e8af7d1c91669c6 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2110",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=4100a310fc7101779e8af7d1c91669c6 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2: extension data of a type other than bstr","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"159 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 2: empty extension data (h'')","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=147, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"147 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 2: 65 extensions in one array","text":"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=1424, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"1424 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 2: tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=dbb9bc102bb15061d58e9c17d302e06f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1004 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2 time_only relabeled format 3","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 3: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 3: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 1 time_only relabeled format 2","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 1, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 1, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 1 time_and_key with one stanza relabeled format 2, with the identity","text":"agewrap: INNER_ACCESS_AGE has 1 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 1 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2 time_only relabeled format 1","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 2 time_and_key relabeled format 1, with the identity","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"INNER_ACCESS_AGE with 15 stanzas","text":"agewrap: INNER_ACCESS_AGE has 15 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2030",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 15 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"INNER_ACCESS_AGE with 17 stanzas","text":"agewrap: INNER_ACCESS_AGE has 17 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2226",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 17 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"16 stanzas, two for one recipient, and the identity of that recipient","text":"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"identity that is not a recipient of any of the 16","text":"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"control of schema version 2 without key 6","text":"capsule: CONTROL_CBOR: key 6 is missing: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=448",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6 is missing: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"control of schema version 2 without key 7","text":"capsule: CONTROL_CBOR: key 7 is missing: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=456",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7 is missing: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"padding code 0","text":"capsule: CONTROL_CBOR: key 7: padding code 0 is not defined: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7: padding code 0 is not defined: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"padding code 3","text":"capsule: CONTROL_CBOR: key 7: padding code 3 is not defined: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7: padding code 3 is not defined: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length of 7 bytes","text":"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 7 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 7 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length of 9 bytes","text":"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 9 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 9 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length as an unsigned integer","text":"capsule: CONTROL_CBOR: key 6: codec: offset 92: an unsigned integer where a byte string was expected: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=454",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 92: an unsigned integer where a byte string was expected: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"last padding byte not zero","text":"capsule: PAYLOAD_AGE: byte 255 of the plaintext is padding and is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 2000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: byte 255 of the plaintext is padding and is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext of P - 1 bytes","text":"capsule: PAYLOAD_AGE: the plaintext is 255 bytes, shorter than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 2000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is 255 bytes, shorter than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext of P + 256 bytes","text":"capsule: PAYLOAD_AGE: the plaintext is longer than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 2000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is longer than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext without padding, of L bytes","text":"capsule: PAYLOAD_AGE: the plaintext is 34 bytes, shorter than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 2000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is 34 bytes, shorter than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"padding code 2 changed to 1, with L = 78000","text":"capsule: PAYLOAD_AGE: the plaintext is longer than P = 78080: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding bloque256, P = 78080",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is longer than P = 78080: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload_length L - 1, the last byte of the content not zero","text":"capsule: PAYLOAD_AGE: byte 77999 of the plaintext is padding and is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 77999, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: byte 77999 of the plaintext is padding and is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 2: release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=dbb9bc102bb15061d58e9c17d302e06f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2: negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 2 time_only relabeled format 3","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 3: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 3: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 1 time_only relabeled format 2","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 1, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 1, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 1 time_and_key with one stanza relabeled format 2, with the identity","text":"agewrap: INNER_ACCESS_AGE has 1 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 1 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 2 time_only relabeled format 1","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 2 time_and_key relabeled format 1, with the identity","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"INNER_ACCESS_AGE with 15 stanzas","text":"agewrap: INNER_ACCESS_AGE has 15 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2030",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 15 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"INNER_ACCESS_AGE with 17 stanzas","text":"agewrap: INNER_ACCESS_AGE has 17 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2226",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE has 17 stanzas, want exactly 16: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"16 stanzas, two for one recipient, and the identity of that recipient","text":"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: one identity opens 2 INNER_ACCESS_AGE stanzas, want one per recipient: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"identity that is not a recipient of any of the 16","text":"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",false,"capsule: age: agewrap: no supplied identity is a recipient of INNER_ACCESS_AGE: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"control of schema version 2 without key 6","text":"capsule: CONTROL_CBOR: key 6 is missing: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=448",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6 is missing: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"control of schema version 2 without key 7","text":"capsule: CONTROL_CBOR: key 7 is missing: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=456",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7 is missing: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"padding code 0","text":"capsule: CONTROL_CBOR: key 7: padding code 0 is not defined: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7: padding code 0 is not defined: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"padding code 3","text":"capsule: CONTROL_CBOR: key 7: padding code 3 is not defined: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 7: padding code 3 is not defined: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length of 7 bytes","text":"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 7 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 7 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length of 9 bytes","text":"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 9 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 93: a byte string of 9 bytes outside 8..8: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"payload_length as an unsigned integer","text":"capsule: CONTROL_CBOR: key 6: codec: offset 92: an unsigned integer where a byte string was expected: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=454",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: key 6: codec: offset 92: an unsigned integer where a byte string was expected: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"last padding byte not zero","text":"capsule: PAYLOAD_AGE: byte 255 of the plaintext is padding and is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: byte 255 of the plaintext is padding and is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext of P - 1 bytes","text":"capsule: PAYLOAD_AGE: the plaintext is 255 bytes, shorter than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is 255 bytes, shorter than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext of P + 256 bytes","text":"capsule: PAYLOAD_AGE: the plaintext is longer than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is longer than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload plaintext without padding, of L bytes","text":"capsule: PAYLOAD_AGE: the plaintext is 34 bytes, shorter than P = 256: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=494",""],[3,"public header",true,"159 bytes",""],[4,"header validation",true,"capsule_id=3ab2c06d482609a9c7ae92f672599883 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MjAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 2000, unlock at 2023-08-23T16:49:24Z",""],[8,"tlock stanza",true,"round 2000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 34, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is 34 bytes, shorter than P = 256: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"padding code 2 changed to 1, with L = 78000","text":"capsule: PAYLOAD_AGE: the plaintext is longer than P = 78080: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 78000, padding bloque256, P = 78080",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the plaintext is longer than P = 78080: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"payload_length L - 1, the last byte of the content not zero","text":"capsule: PAYLOAD_AGE: byte 77999 of the plaintext is padding and is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=c8cfc53d45c879da916edddf71f3bddd datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 77999, padding reforzado, P = 79872",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: byte 77999 of the plaintext is padding and is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 1 time_and_key with one stanza relabeled format 2, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=646",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=448e134a13457c319cab7fceaf7ffa1f datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"format 2 time_and_key relabeled format 1, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"INNER_ACCESS_AGE with 15 stanzas, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2030",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"INNER_ACCESS_AGE with 17 stanzas, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2226",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"16 stanzas, two for one recipient, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=fe68d3b3bb59db0c14b7ef57d8d6cb5e datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"format 3: PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 3: SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1001 obtained",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"format 3: PUBLIC_HEADER_A + SEALED_CONTROL_B","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 3: SEALED_CONTROL_A + PAYLOAD_AGE_B","text":"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: agewrap: PAYLOAD_AGE is not encrypted to this control's R_PAYLOAD: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: DateKey A + release of round B","text":"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH","ERR_ROUND_MISMATCH"]]},
{"name":"format 3: version changed","text":"capsule: framing version 4: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",false,"capsule: framing version 4: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 3: payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: payload truncated","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: payload age modified","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: control modified","text":"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: non-canonical dk1_ JSON","text":"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=124, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"124 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: datekey: not the canonical encoding dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0: ERR_DATEKEY_NON_CANONICAL","ERR_DATEKEY_NON_CANONICAL"]]},
{"name":"format 3: unknown profile","text":"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=118, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"118 bytes",""],[4,"header validation",false,"capsule: profile \"datekeys:evmnet:v1\" is not pinned: ERR_UNKNOWN_PROFILE","ERR_UNKNOWN_PROFILE"]]},
{"name":"format 3: release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: release of another round","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: access_policy=time_only with time_and_key structure","text":"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_only capsule seals an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: access_policy=time_and_key with time_only structure","text":"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"capsule: time_and_key capsule does not seal an age file: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: extra stanza in OUTER_TIME_AGE","text":"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=556",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=3da4aa192170d6e6a84caf8d1b89665d datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",false,"capsule: OUTER_TIME_AGE must hold exactly one tlock stanza, found 2: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: extra stanza in PAYLOAD_AGE","text":"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=0a1312a462cba3721a98b38f2caebdd8 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",false,"agewrap: PAYLOAD_AGE has 2 stanzas, want exactly one X25519 stanza: ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2110",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=d9b19f485bc3d438628e0ad1cdf53ce5 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: non-X25519 stanza in INNER_ACCESS_AGE","text":"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2110",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=d9b19f485bc3d438628e0ad1cdf53ce5 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",false,"agewrap: INNER_ACCESS_AGE stanza 15 has type \"scrypt\", want \"X25519\": ERR_POLICY_STRUCTURE_MISMATCH","ERR_POLICY_STRUCTURE_MISMATCH"]]},
{"name":"format 3: extension data of a type other than bstr","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=159, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"159 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": key 2: codec: offset 146: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 3: empty extension data (h'')","text":"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=147, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"147 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension \"org.example.label\": data is present but empty; an extension without data omits key 2: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 3: 65 extensions in one array","text":"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=1424, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"1424 bytes",""],[4,"header validation",false,"capsule: PUBLIC_HEADER: key 6: extension: codec: offset 124: array of 65 items, at most 64: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"format 3: tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=6134b00a1f901953021415cdee365c49 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1004 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3 time_only relabeled format 2","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"AREA_LEN 0","text":"capsule: BODY: AREA_LEN 0 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 0 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 511","text":"capsule: BODY: AREA_LEN 511 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 511 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 513","text":"capsule: BODY: AREA_LEN 513 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 513 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 66048","text":"capsule: BODY: AREA_LEN 66048 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 66048 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"SECURITY_LEN 0","text":"capsule: BODY: SECURITY_LEN 0 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: SECURITY_LEN 0 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"SECURITY_LEN 513, larger than AREA_LEN","text":"capsule: BODY: SECURITY_LEN 513 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: SECURITY_LEN 513 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"HEAD_LEN 0","text":"capsule: BODY: HEAD_LEN 0 is not from 1 to 16777216: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: HEAD_LEN 0 is not from 1 to 16777216: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"HEAD_LEN 2^24 + 1","text":"capsule: BODY: HEAD_LEN 16777217 is not from 1 to 16777216: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: HEAD_LEN 16777217 is not from 1 to 16777216: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"12 + AREA_LEN + HEAD_LEN = L + 1","text":"capsule: BODY: the frame, the area of 512 bytes and the head of 136 bytes exceed L = 659: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: the frame, the area of 512 bytes and the head of 136 bytes exceed L = 659: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"L < 12: 11","text":"capsule: BODY: L = 11 is shorter than the frame of 12 bytes: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 11, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: BODY: L = 11 is shorter than the frame of 12 bytes: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"a byte of the area not zero","text":"capsule: BODY: byte 511 of the security area is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: byte 511 of the security area is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"head of version 2","text":"capsule: head: codec: datekeys-head schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: datekeys-head schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"head of another type tag","text":"capsule: head: codec: type \"datekeys-heaD\", want \"datekeys-head\": ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: type \"datekeys-heaD\", want \"datekeys-head\": ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"head with a byte more within HEAD_LEN","text":"capsule: head: codec: offset 113: 1 trailing bytes: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 660, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: offset 113: 1 trailing bytes: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"paths b and a, in that order","text":"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 691, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"paths b/.. and a, in that order","text":"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 694, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"path of 1025 bytes","text":"capsule: head: key 5: file 1: key 0: codec: offset 60: a text string of 1025 bytes outside 0..1024: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 1678, padding reforzado, P = 1792",""],[17,"open payload",false,"capsule: head: key 5: file 1: key 0: codec: offset 60: a text string of 1025 bytes outside 0..1024: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"path ..","text":"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path /a","text":"capsule: head: file 1: R2: segment 1 is empty: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R2: segment 1 is empty: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths A.txt and a.txt","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 699, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths ab and a, U+200C, b","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 696, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path CON.txt","text":"capsule: head: file 1: R6: segment 1: CON is a reserved device name: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 658, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6: segment 1: CON is a reserved device name: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path CON.txt in full-width forms","text":"capsule: head: file 1: R6c: segment 1: code page 874 maps the segment to one that breaks R6: CON is a reserved device name: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 664, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6c: segment 1: code page 874 maps the segment to one that breaks R6: CON is a reserved device name: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path ABCDEF~1","text":"capsule: head: file 1: R6b: segment 1: the segment has the form of an 8.3 alias: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6b: segment 1: the segment has the form of an 8.3 alias: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path with U+202E","text":"capsule: head: file 1: R4: segment 1: invisible U+202E: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 660, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4: segment 1: invisible U+202E: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path .datekeys-x","text":"capsule: head: file 1: R10: the first segment starts with \".datekeys-\": ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 662, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R10: the first segment starts with \".datekeys-\": ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with U+202E","text":"capsule: head: comment: text: bidirectional control U+202E: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 666, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: bidirectional control U+202E: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path a.","text":"capsule: head: file 1: R5: segment 1: the segment ends with '.': ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R5: segment 1: the segment ends with '.': ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths A and a/b","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 693, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"65536 implicit folders","text":"capsule: head: R9: 65536 folders, more than 65535: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 235309, padding reforzado, P = 237568",""],[17,"open payload",false,"capsule: head: R9: 65536 folders, more than 65535: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"declared author with LF","text":"capsule: head: declared author: text: control U+000A in the declared author: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 671, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: declared author: text: control U+000A in the declared author: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"start of the first entry not 0","text":"capsule: head: file 1: start 1 is not 0, the end of the file before: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: start 1 is not 0, the end of the file before: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"end - start not size","text":"capsule: head: file 1: from start 0 to end 21 is not the size 22: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: from start 0 to end 21 is not the size 22: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path a followed by VS16","text":"capsule: head: file 1: R4b: segment 1: U+FE0F is not part of an emoji variation sequence: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 655, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4b: segment 1: U+FE0F is not part of an emoji variation sequence: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path with two ZWJ in a row","text":"capsule: head: file 1: R4b: segment 1: U+200D right after U+200D: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4b: segment 1: U+200D right after U+200D: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with the tag U+E0041","text":"capsule: head: comment: text: invisible U+E0041: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 669, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: invisible U+E0041: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with the variation selector VS17","text":"capsule: head: comment: text: invisible U+E0100: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 669, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: invisible U+E0100: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"start of an entry not the end of the one before","text":"capsule: head: file 2: start 12 is not 11, the end of the file before: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 691, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 2: start 12 is not 11, the end of the file before: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"end of the last file not C","text":"capsule: BODY: the files end at byte 21 of a content of 22 bytes: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: the files end at byte 21 of a content of 22 bytes: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"a byte of a file changed","text":"capsule: PAYLOAD_AGE: file 1: its SHA-256 is not the one of the head: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: file 1: its SHA-256 is not the one of the head: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"path .. and a padding byte not zero","text":"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path .. and the next STREAM chunk corrupt","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=091119676ec081409c666846153ba7eb datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMX0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1001, unlock at 2023-08-23T15:59:27Z",""],[8,"tlock stanza",true,"round 1001, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1001 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 84078, padding reforzado, P = 86016",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"path .. and a cut right after its chunk","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=091119676ec081409c666846153ba7eb datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMX0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1001, unlock at 2023-08-23T15:59:27Z",""],[8,"tlock stanza",true,"round 1001, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1001 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 84078, padding reforzado, P = 86016",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"security of version 2 opens with the verdict X","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of alg 4294967295 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of alg 1 that does not verify opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a seal of seal_type 4294967295 opens with the verdict S1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 altered opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 removed opens with the verdict F0","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 made again with another key opens with the verdict F4 of that key","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 transplanted to another capsule opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=0cced8e8b035d6dd70f39923b407a96c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a key of 31 bytes in a signature of alg 1 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of 65 bytes of alg 1 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the area widened to 64 KiB after signing opens with the verdict F4 and the same AUTHOR_MESSAGE","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 65683, padding reforzado, P = 67584",""],[17,"open payload",true,"payload authenticated; BODY of 65683 bytes, 1 files, area of 65536 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the public note changed in PUBLIC_HEADER","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=169, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"169 bytes",""],[4,"header validation",true,"capsule_id=1999a39e1beae60b2fc9b157d11dab5a datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 3 time_only relabeled format 1","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 3 time_and_key relabeled format 2, with the identity","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"round 1000 obtained",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 3 time_and_key relabeled format 2, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]}
{"name":"format 3: tlock stanza U re-encoded with c0 + p","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza U is the point at infinity","text":"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is the point at infinity: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza U with the infinity flag and a payload","text":"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: U of the tlock stanza is not the canonical encoding of a point of the key group: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza body of 127 bytes","text":"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=457",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 127 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: tlock stanza body of 129 bytes","text":"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=459",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",false,"capsule: age: agewrap: tlock stanza body of 129 bytes, want 128: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"format 3: release signature re-encoded with x + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=6134b00a1f901953021415cdee365c49 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwNH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1004, unlock at 2023-08-23T15:59:36Z",""],[8,"tlock stanza",true,"round 1004, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature is the point at infinity","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature with the infinity flag and a payload","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: release signature negated","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3: negated release signature and U re-encoded with c0 + p","text":"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID","ERR_RELEASE_INVALID"]]},
{"name":"format 3 time_only relabeled format 2","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"AREA_LEN 0","text":"capsule: BODY: AREA_LEN 0 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 0 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 511","text":"capsule: BODY: AREA_LEN 511 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 511 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 513","text":"capsule: BODY: AREA_LEN 513 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 513 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"AREA_LEN 66048","text":"capsule: BODY: AREA_LEN 66048 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: AREA_LEN 66048 is not a multiple of 512 from 512 to 65536: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"SECURITY_LEN 0","text":"capsule: BODY: SECURITY_LEN 0 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: SECURITY_LEN 0 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"SECURITY_LEN 513, larger than AREA_LEN","text":"capsule: BODY: SECURITY_LEN 513 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: SECURITY_LEN 513 is not from 1 to AREA_LEN = 512: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"HEAD_LEN 0","text":"capsule: BODY: HEAD_LEN 0 is not from 1 to 16777216: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: HEAD_LEN 0 is not from 1 to 16777216: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"HEAD_LEN 2^24 + 1","text":"capsule: BODY: HEAD_LEN 16777217 is not from 1 to 16777216: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: HEAD_LEN 16777217 is not from 1 to 16777216: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"12 + AREA_LEN + HEAD_LEN = L + 1","text":"capsule: BODY: the frame, the area of 512 bytes and the head of 136 bytes exceed L = 659: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: the frame, the area of 512 bytes and the head of 136 bytes exceed L = 659: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"L < 12: 11","text":"capsule: BODY: L = 11 is shorter than the frame of 12 bytes: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 11, padding reforzado, P = 256",""],[17,"open payload",false,"capsule: BODY: L = 11 is shorter than the frame of 12 bytes: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"a byte of the area not zero","text":"capsule: BODY: byte 511 of the security area is not zero: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: byte 511 of the security area is not zero: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"head of version 2","text":"capsule: head: codec: datekeys-head schema version 2, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: datekeys-head schema version 2, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"head of another type tag","text":"capsule: head: codec: type \"datekeys-heaD\", want \"datekeys-head\": ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: type \"datekeys-heaD\", want \"datekeys-head\": ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"head with a byte more within HEAD_LEN","text":"capsule: head: codec: offset 113: 1 trailing bytes: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 660, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: codec: offset 113: 1 trailing bytes: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"paths b and a, in that order","text":"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 691, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"paths b/.. and a, in that order","text":"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 694, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: key 5: file 2: R8: the path is not after the path of file 1 in byte order: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"path of 1025 bytes","text":"capsule: head: key 5: file 1: key 0: codec: offset 60: a text string of 1025 bytes outside 0..1024: ERR_NON_CANONICAL_CBOR","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 1678, padding reforzado, P = 1792",""],[17,"open payload",false,"capsule: head: key 5: file 1: key 0: codec: offset 60: a text string of 1025 bytes outside 0..1024: ERR_NON_CANONICAL_CBOR","ERR_NON_CANONICAL_CBOR"]]},
{"name":"path ..","text":"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path /a","text":"capsule: head: file 1: R2: segment 1 is empty: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R2: segment 1 is empty: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths A.txt and a.txt","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 699, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths ab and a, U+200C, b","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 696, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path CON.txt","text":"capsule: head: file 1: R6: segment 1: CON is a reserved device name: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 658, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6: segment 1: CON is a reserved device name: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path CON.txt in full-width forms","text":"capsule: head: file 1: R6c: segment 1: code page 874 maps the segment to one that breaks R6: CON is a reserved device name: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 664, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6c: segment 1: code page 874 maps the segment to one that breaks R6: CON is a reserved device name: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path ABCDEF~1","text":"capsule: head: file 1: R6b: segment 1: the segment has the form of an 8.3 alias: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R6b: segment 1: the segment has the form of an 8.3 alias: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path with U+202E","text":"capsule: head: file 1: R4: segment 1: invisible U+202E: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 660, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4: segment 1: invisible U+202E: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path .datekeys-x","text":"capsule: head: file 1: R10: the first segment starts with \".datekeys-\": ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 662, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R10: the first segment starts with \".datekeys-\": ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with U+202E","text":"capsule: head: comment: text: bidirectional control U+202E: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 666, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: bidirectional control U+202E: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path a.","text":"capsule: head: file 1: R5: segment 1: the segment ends with '.': ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R5: segment 1: the segment ends with '.': ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"paths A and a/b","text":"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 693, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: R7: path 2 collides with path 1 in segment 1: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"65536 implicit folders","text":"capsule: head: R9: 65536 folders, more than 65535: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 235309, padding reforzado, P = 237568",""],[17,"open payload",false,"capsule: head: R9: 65536 folders, more than 65535: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"declared author with LF","text":"capsule: head: declared author: text: control U+000A in the declared author: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 671, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: declared author: text: control U+000A in the declared author: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"start of the first entry not 0","text":"capsule: head: file 1: start 1 is not 0, the end of the file before: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: start 1 is not 0, the end of the file before: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"end - start not size","text":"capsule: head: file 1: from start 0 to end 21 is not the size 22: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: from start 0 to end 21 is not the size 22: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path a followed by VS16","text":"capsule: head: file 1: R4b: segment 1: U+FE0F is not part of an emoji variation sequence: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 655, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4b: segment 1: U+FE0F is not part of an emoji variation sequence: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path with two ZWJ in a row","text":"capsule: head: file 1: R4b: segment 1: U+200D right after U+200D: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R4b: segment 1: U+200D right after U+200D: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with the tag U+E0041","text":"capsule: head: comment: text: invisible U+E0041: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 669, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: invisible U+E0041: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"comment with the variation selector VS17","text":"capsule: head: comment: text: invisible U+E0100: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 669, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: comment: text: invisible U+E0100: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"start of an entry not the end of the one before","text":"capsule: head: file 2: start 12 is not 11, the end of the file before: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 691, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 2: start 12 is not 11, the end of the file before: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"end of the last file not C","text":"capsule: BODY: the files end at byte 21 of a content of 22 bytes: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: BODY: the files end at byte 21 of a content of 22 bytes: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"a byte of a file changed","text":"capsule: PAYLOAD_AGE: file 1: its SHA-256 is not the one of the head: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: file 1: its SHA-256 is not the one of the head: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"path .. and a padding byte not zero","text":"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 653, padding reforzado, P = 768",""],[17,"open payload",false,"capsule: head: file 1: R3: segment 1: the segment is two dots: ERR_HEAD_INVALID","ERR_HEAD_INVALID"]]},
{"name":"path .. and the next STREAM chunk corrupt","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=091119676ec081409c666846153ba7eb datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMX0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1001, unlock at 2023-08-23T15:59:27Z",""],[8,"tlock stanza",true,"round 1001, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 84078, padding reforzado, P = 86016",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"path .. and a cut right after its chunk","text":"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=091119676ec081409c666846153ba7eb datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMX0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1001, unlock at 2023-08-23T15:59:27Z",""],[8,"tlock stanza",true,"round 1001, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 84078, padding reforzado, P = 86016",""],[17,"open payload",false,"capsule: PAYLOAD_AGE: the age payload is truncated, has trailing data or fails STREAM authentication: ERR_INTEGRITY","ERR_INTEGRITY"]]},
{"name":"security of version 2 opens with the verdict X","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of alg 4294967295 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of alg 1 that does not verify opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a seal of seal_type 4294967295 opens with the verdict S1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 659, padding reforzado, P = 768",""],[17,"open payload",true,"payload authenticated; BODY of 659 bytes, 1 files, area of 512 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 altered opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 removed opens with the verdict F0","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 made again with another key opens with the verdict F4 of that key","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the signature of alg 1 transplanted to another capsule opens with the verdict F2","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=0cced8e8b035d6dd70f39923b407a96c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a key of 31 bytes in a signature of alg 1 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"a signature of 65 bytes of alg 1 opens with the verdict F1","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 32915, padding reforzado, P = 34816",""],[17,"open payload",true,"payload authenticated; BODY of 32915 bytes, 1 files, area of 32768 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the area widened to 64 KiB after signing opens with the verdict F4 and the same AUTHOR_MESSAGE","text":"ok","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=681476c1bfa81dd12fec810ee44fe7f7 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",true,"matches",""],[16,"payload identity",true,"I_PAYLOAD recovered; L = 65683, padding reforzado, P = 67584",""],[17,"open payload",true,"payload authenticated; BODY of 65683 bytes, 1 files, area of 65536 bytes",""],[18,"commit",true,"1 files",""]]},
{"name":"the public note changed in PUBLIC_HEADER","text":"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v3, PUBLIC_HEADER_LEN=169, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"169 bytes",""],[4,"header validation",true,"capsule_id=1999a39e1beae60b2fc9b157d11dab5a datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",true,"canonical CONTROL_CBOR",""],[15,"header binding",false,"capsule: header_binding does not match PRELUDE || PUBLIC_HEADER: ERR_HEADER_BINDING","ERR_HEADER_BINDING"]]},
{"name":"format 3 time_only relabeled format 1","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 1: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=458",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ff23599acbe9b0a742792dcb7cb1bc4c datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_only: CONTROL_CBOR sealed directly",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 1: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 3 time_and_key relabeled format 2, with the identity","text":"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",true,"1 identities to try",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",true,"BLS signature valid under the pinned key",""],[11,"open sealed control",true,"one tlock stanza, header MAC valid",""],[12,"policy structure",true,"time_and_key: INNER_ACCESS_AGE with 16 X25519 stanzas",""],[13,"open access layer",true,"identity matched exactly one stanza",""],[14,"control",false,"capsule: CONTROL_CBOR: codec: datekeys-control schema version 3, want 2: ERR_UNSUPPORTED_VERSION","ERR_UNSUPPORTED_VERSION"]]},
{"name":"format 3 time_and_key relabeled format 2, with the .dkk","text":"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v2, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=2128",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=29737cb54ad5310734ecf20720c2d317 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_and_key profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"access credential",false,"capsule: the .dkk capsule_digest does not match this .dkc: ERR_ACCESS_INVALID","ERR_ACCESS_INVALID"]]},
{"name":"round not reached yet, from a network source","text":"capsule: round 1000 is published at 2023-08-23T15:59:24Z, it is 2023-08-23T15:59:23Z: ERR_RELEASE_UNAVAILABLE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",false,"capsule: round 1000 is published at 2023-08-23T15:59:24Z, it is 2023-08-23T15:59:23Z: ERR_RELEASE_UNAVAILABLE","ERR_RELEASE_UNAVAILABLE"]]},
{"name":"release of another round, from a network source","text":"testkit: the release is discarded: provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH: ERR_RELEASE_UNAVAILABLE","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",false,"testkit: the release is discarded: provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH: ERR_RELEASE_UNAVAILABLE","ERR_RELEASE_UNAVAILABLE"]]},
{"name":"release object of another chain","text":"provider: release of chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller",""],[10,"release verification",false,"provider: release of chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH","ERR_PROFILE_MISMATCH"]]},
{"name":"release object of another chain and another round, with a clock behind","text":"provider: release of chain d2db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH","checks":[[1,"parse DKC1",true,"magic DKC1",""],[2,"prelude",true,"DKC1 v1, PUBLIC_HEADER_LEN=121, SEALED_CONTROL_LEN=446",""],[3,"public header",true,"121 bytes",""],[4,"header validation",true,"capsule_id=ad4d676812b134ff8a3de263f77018b4 datekey=dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0 policy=time_only profile=datekeys:quicknet:v1",""],[5,"sealed control structure",true,"one tlock stanza",""],[6,"payload structure",true,"one X25519 stanza",""],[7,"condition",true,"round 1000, unlock at 2023-08-23T15:59:24Z",""],[8,"tlock stanza",true,"round 1000, chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",""],[9,"release",true,"release supplied by the caller; round 1000 is published at 2023-08-23T15:59:24Z and the clock says 2023-08-23T15:59:23Z: it may be behind",""],[10,"release verification",false,"provider: release of chain d2db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH","ERR_PROFILE_MISMATCH"]]}
"description":"capsule.Open of a .dkc, as edits of a fixture, given the release (null: none), or a source that fails with source_error (its text and its code, none for a plain error); the clock now; the registry of profiles, empty when registry is empty; the extensions known at (id, version) with valid data valid_data (testkit.KnownExtensions), or reject_all, a registry that knows every extension and rejects all data with that text; the age identities, the .dkk decoded before (dkk, with its material replaced by dkk_material) or the .dkk still encoded (dkk_file); a sink that fails at sink_fail (begin, create i, write i, close i or commit, with the text no and the call); an output that fails with disk full when output_fail; accept, refuse to refuse every verdict with not trusted; and author_keys, the author keys saved with their labels. The outcome: result (ok, refused, or the code), text, the checks as [step, name, ok, detail, code], the release requests, the state of the sink, the content (length and SHA-256) or the files ([path, size, SHA-256 of what the sink received]) of a capsule that opens, the verdicts of a capsule of format 3 that opens (signature, seal, lines, author_key and author_label of alg 1, sealed_at), and the unusable extensions of each object as [id, version, text].",
"description":"HEAD_CBOR of a fixed seed, valid and broken in each layer of spec §69.1, through capsule.DecodeHead with no registry: the result, the code and the text; with_registry when the registry of the extensions a version 1 and org.example version 2 with data 01 (testkit.KnownExtensions) gives another. encode: capsule.EncodeHead of the decoded heads, their extensions reordered, repeated or in both arrays.",
"description":"texts: the texts of the errors of capsule.Inspect, and results: for each mutation of testdata/vectors/inspect_differential.json, in its order, the index of its text in texts, -1 when steps 1 to 8 pass. views: the exact output of datekeys inspect -json (internal/inspectview) for time_only_extensions with another PUBLIC_HEADER, with the registry standard (extension.Standard), none, or reject_all, which knows every extension and rejects all data with not today.",
"description":"The public note of spec §24.1: extension.CheckNote on the string of the bytes data; extension.Note and Header.UnusableNote of noncritical arrays (usable, text, unusable); and extension.Standard, in the order of check, on a note of version 1 with its bytes, absent data when empty: CheckNoncriticalIn of PUBLIC_HEADER (unusable, as [id, version, text]) and CheckWrite in its noncritical array (result and text).",
"text":"provider: release archive: archive of chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_RELEASE_UNAVAILABLE"
"text":"provider: release archive: its header does not decode: key 3: codec: offset 66: 1000 is not in its shortest form (initial byte 0x1a): ERR_NON_CANONICAL_CBOR: ERR_RELEASE_UNAVAILABLE"
"description":"The security area of format 3 as package capsule of the Go reference gives it at the draft v0.12: commitments (PayloadCommit, ControlCommit with decode_format and format, or the text of its error, HeadDigest, SignersDigest, AuthorMessage, AuthorCode as Go's string and its bytes, SigPart, SealSubject); encode (EncodeSecurity, EncodeSecurityWith, EncodeAuthorSignature, EncodeSeal); evaluate: EvaluateSecurityIn of SECURITY_CBOR (hex, parts as [hex, repeat], or a base with edits) in the context of the index, EvaluateSecurity when null: the verdicts, author_key and author_label of alg 1, lines as indices into texts, alg and seal_type as read, and cms, the parts that only the reader of CMS evaluates; lines: Verdicts.Lines and SealedAt of verdicts built here; holder: holderText of a name, or of UTF-16 code units, and a hash. See the header of tool/security_go_vectors.go.",
"description":"Part of test/vectors/securitycms_vectors.json: its contexts and texts, its bases whole, and some of its cases, each built area as its hexadecimal.",
"description":"Signatures of alg 2 and seals of seal_type 2 that this program makes, with keys of labels and the deterministic signatures of Go, as package capsule of the Go reference at the draft v0.12 evaluates them with EvaluateSecurityIn in the context of the index: the verdicts, the lines as indices into texts, alg and seal_type as read, cms, the detail of the signers and of a valid seal as the lines of security_vectors.json write it, sealed_at, and author_key of alg 1. An area is pieces (the hexadecimal of bytes, or the index of a chunk, each chunk itself pieces of the chunks before it), or a base edited in its target (value, the SignedData of key 2; signers, its SIGNERS; token, that of key 3) and written again with the encoders of capsule; sha256 is the first 8 bytes of the SHA-256 of the area. See the header of tool/security_go_vectors.go.",
"description":"Steps 10 and 11 of spec §63 for Quicknet, value by value, over published releases. Step 10: M = SHA-256(uint64_be(round)), H(M) the hash to G1 of RFC 9380 with the suite BLS12381G1_XMD:SHA-256_SSWU_RO_ and the DST dst, and e(H(M), public_key) = e(signature, G2). Step 11: a stanza body U || V || W built with the sigma and the file key of the vector; H2 = SHA-256(\"IBE-H2\" || e(signature, U))[:16], sigma = V XOR H2, H4 = SHA-256(\"IBE-H4\" || sigma)[:16], file_key = W XOR H4, and r = H3(sigma, file_key): h3_base = SHA-256(\"IBE-H3\" || sigma || file_key), then for i = 1, 2, ... d = SHA-256(uint16_le(i) || h3_base), its first byte shifted one bit to the right, until it is below the order of the group; r·G2 = U. Generated by the reference implementation and checked against drand, kyber, tlock and agewrap. See testdata/README.md.",
Official vectors, fixtures and corpora of the DateKeys Protocol Specification
v0.14, generated by the reference implementation.
v0.15, generated by the reference implementation.
Another implementation consumes them as they are: this file documents every
format, so that no Go code has to be read. The rules that decide each verdict
are in the specification; this file points to them, and states only what
@ -21,7 +21,10 @@ added since. The local gate (`scripts/check.sh`) and CI run it and fail if any
committed file changes: every file below is exactly what the implementation
computes today.
The `spec` field of every file is `"0.14"`, the version this module declares.
The `spec` field of every file is `"0.15"`, the version this module declares.
v0.15 adds the release object and a release in the caller's hand (§47.1,
§63 step 9.c): `vectors/release.json`, the files of `releases/`, and the
field `source` of `mutations.json`.
What v0.12 changes from v0.11, the texts of the verdicts of a certificate and
of a seal, the profile of a certificate and the rules of the addresses and of
the padding of a locator, is in the files: the verdicts and the lines of
@ -48,6 +51,9 @@ Conventions for every file:
| `vectors/dk1.json` | canonical `dk1_` strings, and rejected encodings with their code | §18, §19, §66 |
| `vectors/cbor.json` | the CBOR profile, and one block of vectors per schema, CONTROL_CBOR in the three formats | §58, CDDL |
| `vectors/tlock_ibe.json` | H2 of the tlock IBE: the serialization of an element of GT | §63 step 11 |
| `vectors/release.json` | the release object, the content of a `.dkr` file, and drand's JSON, each with the result of step 10; the lookups of a local release archive | §47.1, §50, §63 step 10 (v0.15) |
| `releases/<round>.dkr` | the release object of each published round of the tests: 1000, 1001, 1004 and 2000 | §47.1 (v0.15) |
| `releases/archive_1000_1004.bin` | a local release archive, the informative format of §50, of rounds 1000 to 1004, two of them missing | §50 (v0.15) |
| `vectors/tlock_steps.json` | steps 10 and 11 for Quicknet value by value: the message of a round, its hash to G1, and the decryption of a tlock stanza with H2, H4, H3 and the file key | §63 steps 10 and 11 (v0.14) |
| `vectors/padding.json` | the padding of formats 2 and 3: P for each content length L, and the length of PAYLOAD_AGE | §29.1 |
| `vectors/paths.json` | the paths of a format 3 head: the rules of one entry, and those of the paths of a head | §29.5 |
@ -60,7 +66,7 @@ Conventions for every file:
| `vectors/resolved_ip.json` | the IP address a name of a locator resolves to, NAT64 included, and whether a reader may connect | §44.1 (v0.13) |
| `vectors/wordkey.json` | the key of words: the words of a text, what a writer refuses, and the identity the words derive | §38.1, §64 |
| `vectors/locator.json` | the extension `datekeys.capsule` of a `.dkk`, its envelope and its locator, and what a reader rejects and uses of them | §44.1, §64 |
| `vectors/mutations.json` | the mutation corpus: the 178 mutations of §64 and further cases | §63, §64 |
| `vectors/mutations.json` | the mutation corpus: the 178 mutations of §64 and further cases, each with the kind of its release source | §63, §64 |
| `vectors/inspect_differential.json` | 5110 mutations of fourteen fixtures with the verdict of steps 1 to 8 | §63 |
| `fixtures/<name>.dkc`, `<name>.json` | official capsules and every intermediate value | §67 |
| `fixtures/<name>.dkk`, `<name>.dkk.json` | official access keys | §68 |
@ -312,6 +318,58 @@ serialization at once. The same 576 bytes with the twelve coordinates of Fp in
reverse order, c0 first at every level as `Fp12.toBytes` of `@noble/curves`
writes them, give `0118eea9d5971745f71e3c94926f1717` and another FK_TIME.
## `vectors/release.json` and `releases/`
The release object of spec v0.15, §47.1: the release of a round as a file,
`.dkr`, that a person keeps next to the capsule. It is deterministic CBOR with
the profile of §58, a map of five keys, all required:
```text
0 → "datekeys-release"
1 → 1
2 → chain_hash (32 bytes)
3 → round (1 to 2^53 − 1)
4 → signature (1 to 96 bytes; 48 in Quicknet)
```
The object of a round above 255 measures 111 bytes. `releases/<round>.dkr` is
the object of each published round the fixtures use, 1000, 1001, 1004 and
2000, with the Quicknet chain hash: the release that opens each fixture, as a
file.
`release.json` has three lists:
- `objects`: an `encoding` in hexadecimal, the `round` of the DateKey it is
checked against, and the `result`, `ok` or a code, with the `text` of the
error of the reference. When the encoding decodes, `release` is what it
says: `round`, `signature` and `chain_hash`. The checks are those of step
10 for a release in the caller's hand (spec v0.15, §63): the size of the
object, from 1 to 1024 bytes, before anything else; its type and version;
its encoding and schema (all three `ERR_NON_CANONICAL_CBOR`, but a version
other than 1, `ERR_UNSUPPORTED_VERSION`); then, against the pinned profile
and the DateKey, the chain hash (`ERR_PROFILE_MISMATCH`), the round
(`ERR_ROUND_MISMATCH`) and the signature (`ERR_RELEASE_INVALID`), in that
order. A case with several faults gets the code of the first.
- `json`: drand's JSON, which a reader accepts too as the input of the
caller, never as the release object: an `input` whose first byte other than
a JSON space is `{`. It has `round` and `signature` in hexadecimal, of either
case, and may have `randomness`, which must then be SHA-256 of the
signature; it names no chain, so its `release` has no `chain_hash`. Any
failure to read it is `ERR_RELEASE_INVALID`, and so is one of more than
8192 bytes; then the round and the signature, as for an object.
- `archive`: the lookups of the local archive `releases/archive_1000_1004.bin`,
an informative format (spec v0.15, §50). It is the `header`, the
"description":"format 3 time_only capsule with a single file, nota.txt, and the public note «Cartas del viaje a Lisboa» in the noncritical array of PUBLIC_HEADER (spec v0.11, §24.1)",
"description":"format 3 time_only capsule with an author-signature of alg 4294967295, as in format3_signature_unsupported, and a seal of seal_type 4294967295, reserved for tests, with a random token of 32 bytes: verdicts F1 and S1",
"description":"format 3 time_only capsule with a single file, nota.txt, signed with alg 1 by the test key of format3_signed and sealed with seal_type 2 by a test time-stamping authority before the round time: verdicts F4 and S4, with SEAL_SUBJECT and the token in the record",
"description":"format 3 time_only capsule with an author-signature of alg 4294967295, a random key of 32 bytes and a random signature of 64: verdicts F1 and S0",
"description":"format 3 time_only capsule with a single file, nota.txt, signed with alg 1 by a test key whose seed the record gives: verdict F4, and the commitments and the message of the signature",
"description":"format 3 time_only capsule with a single file, nota.txt, signed with alg 2 by two test certificates, an ECDSA P-256 one and an RSA 2048 one, each sealed by a test time-stamping authority before the round time: verdict F6, with the certificates, the commitments, SIGNERS and the result of each signer in the record",
"description":"format 3 time_only capsule with five files in three folders, one of them over two STREAM chunks and one without mtime, a comment of two lines and a declared author",
"description":"format 3 time_only capsule with a single file, nota.txt, as format3_signed, without a signature: the area of 32 KiB of spec v0.11 holds the empty security, and P is the one of format3_signed",
"description":"portable X25519 .dkk of time_and_key_portable.dkc with a noncritical extension: the credential of time_and_key_portable.dkk re-issued with org.example.delivery",
"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.",
"description":"Ed25519 signatures and the result of the strict profile of the author signature (spec v0.11, §29.9), after the cases of «Taming the many EdDSAs»; stdlib is the result of crypto/ed25519 of Go, for the record. Generated by the reference implementation. See testdata/README.md.",
"description":"HEAD_CBOR of format 3 (spec §29.4 to §29.6) and the result of decoding it with no extension known, generated by the reference implementation: layer 2 (type tag and version), layer 3 (the CDDL with R1 and R8), then layer 4 in key order (spec §69.1). See testdata/README.md.",
"description":"Differential corpus of the pre-unlock checks (spec §63 steps 1 to 8): deterministic mutations of the official .dkc fixtures with the verdict of the reference implementation. See testdata/README.md.",
"format":"Each mutation is bases[base].file (in testdata/fixtures) with its edits applied. An edit is [at, delete, insert]: the delete bytes at offset at of the base are replaced by the bytes of the hex string insert. The edits of one mutation refer to offsets of the unmodified base, are sorted by offset and do not overlap. result is the verdict of steps 1 to 8 of spec §63 (capsule.Inspect, the Quicknet profile pinned, no extension known, no network, no secret): ok, or the normative error code, with step the step that failed. kind names the generator of the mutation and is informative.",
"description":"The extension datekeys.capsule of a .dkk and what it points to (spec v0.12, 44.1): an envelope of age with its header apart from its rest, the rest hidden in a host file, the locator sealed with tlock for round 1000, and the data of the extension. On the same envelope, what a reader rejects and what it uses (64): addresses, a locator with rejected and usable addresses, resources of the rest, data of the extension and plaintexts of the locator. Frozen. See testdata/README.md.",
"description":"The data of the public note, datekeys.note version 1 in the noncritical array of PUBLIC_HEADER (spec §24.1): the text in UTF-8, from 1 to 1024 bytes, that meets the rules of the declared author of §29.6. See testdata/README.md.",
"description":"Padding rules of the payload of a format 2 capsule (spec §29.1): for each content length L, P with code 1 (bloque256) and code 2 (reforzado), and the length of PAYLOAD_AGE for each. e, s and last_bits are informative. Generated by the reference implementation. See testdata/README.md.",
"description":"The key of R7 (spec §29.5) of segments, with the Unicode 18.0.0 tables of §29.5.1, generated by the reference implementation: nfd is NFD(segment) and key is NFD(fold(NFD(s'))), s' the segment without ZWNJ, ZWJ, VS15 and VS16. See testdata/README.md.",
"description":"Paths of a format 3 head (spec §29.5) with the Unicode 18.0.0 and best-fit tables of §29.5.1, generated by the reference implementation. paths: one path and the rules of one entry, R2 to R6c and R10; trees: the paths of a head, of 0 bytes each, and the result of decoding it. See testdata/README.md.",
"description":"The IP address that the name of an https address of a locator resolves to, and whether a reader may connect (spec v0.13, 44.1): a public address, or an address of NAT64 (RFC 6052) of 64:ff9b::/96 or of the NAT64 prefix of the network, whose IPv4 address inside is public. See testdata/README.md.",
"description":"SECURITY_CBOR of format 3, exactly its SECURITY_LEN bytes, the verdicts of the signature and of the seal in the context of the file, and their lines (spec §29.3, §29.7, §29.9). See testdata/README.md.",
"description":"SECURITY_CBOR with an author signature of alg 2 or a time seal of seal_type 2, the context of its capsule, and the verdicts, the result of each signer and the lines of spec v0.12 29.7, 29.10 and 29.11. Certificates and tokens are made once with test keys and the file is frozen. See testdata/README.md.",
"spec":"0.14",
"spec":"0.15",
"cases":[
{
"name":"alg 2: two signers, each sealed before the round time: F6",
"description":"H2 of the IBE-CCA of tlock (spec §63 step 11): SHA-256 of \"IBE-H2\" and the 576 bytes of an element of GT, c1 before c0 at every level of the tower and each coordinate of Fp in 48 bytes big-endian (the order of kilic/bls12-381), truncated to 16 bytes. Generated by the reference implementation with drand/kyber-bls12381, the pairing of tlock.",
"description":"Steps 10 and 11 of spec §63 for Quicknet, value by value, over published releases. Step 10: M = SHA-256(uint64_be(round)), H(M) the hash to G1 of RFC 9380 with the suite BLS12381G1_XMD:SHA-256_SSWU_RO_ and the DST dst, and e(H(M), public_key) = e(signature, G2). Step 11: a stanza body U || V || W built with the sigma and the file key of the vector; H2 = SHA-256(\"IBE-H2\" || e(signature, U))[:16], sigma = V XOR H2, H4 = SHA-256(\"IBE-H4\" || sigma)[:16], file_key = W XOR H4, and r = H3(sigma, file_key): h3_base = SHA-256(\"IBE-H3\" || sigma || file_key), then for i = 1, 2, ... d = SHA-256(uint16_le(i) || h3_base), its first byte shifted one bit to the right, until it is below the order of the group; r·G2 = U. Generated by the reference implementation and checked against drand, kyber, tlock and agewrap. See testdata/README.md.",
"description":"The key of words (spec §38.1): the words of a text, after NFD, without U+0300 to U+036F, in simple lower case of Unicode 18.0.0 and split by the spaces of the list; what a writer refuses; and the identity, PBKDF2-HMAC-SHA256 of 600000 rounds, for a chain hash, a round and a capsule_id. See testdata/README.md.",