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

263 lines
6.0 KiB

Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"description": "format 3 time_and_key capsule with one credential, a portable .dkk, and 15 dummies",
"spec": "0.13",
Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"format": 3,
"file": "format3_time_and_key_portable.dkc",
"sha256": "680d29962e575689a31543df28433dae7737abd9a793e9cae92ef40920d09636",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"prelude": "444b4331030000000000007900000850",
"public_header": "a5006a646174656b65796361700101025029737cb54ad5310734ecf20720c2d317037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d48300401",
"datekey": "dk1_eyJ2ZXJzaW9uIjoxLCJuZXR3b3JrIjoiZGF0ZWtleXM6cXVpY2tuZXQ6djEiLCJyb3VuZCI6MTAwMH0",
"capsule_id": "29737cb54ad5310734ecf20720c2d317",
"access_policy": "time_and_key",
"structure": "time_and_key",
"unlock_at": "2023-08-23T15:59:24Z",
"header_binding": "b7519c210ffd04c4a8c9b1db2e2986909218de3194b9d4492ebdb103ff30f194",
"outer_stanzas": [
{
"type": "tlock",
"args": [
"1000",
"52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
]
}
],
"payload_stanzas": [
{
"type": "X25519",
"args": [
"20B1R3GsDu+TbnxCCAxJHqNxhwphQSZ1Y/AUl0Z3yU8"
]
}
],
"inner_stanzas": [
{
"type": "X25519",
"args": [
"FB3+4jY2M1GAqglbnOR48eAy+smdyP2UkpFv1kAlZkw"
]
},
{
"type": "X25519",
"args": [
"rDLS+HBsqeo0XcQl8itevBCak4PX8OD2gAr7uR6ylTo"
]
},
{
"type": "X25519",
"args": [
"h4Hut6TonAcLjG6GGMG0yMt/EwP0+OY4ae9YGR8lxjk"
]
},
{
"type": "X25519",
"args": [
"NnmlK4y1kkH+gXTfWhv98SBA302QGe7gDftyV8vTdng"
]
},
{
"type": "X25519",
"args": [
"fZ4XvPz7OxR6CwD72H5uGSAhxAe9HcRsdrrDhqECizs"
]
},
{
"type": "X25519",
"args": [
"+1M0oE4wwC5G+Vtz3SWpNLFrGzfrnfE1zaTC/OPRhGo"
]
},
{
"type": "X25519",
"args": [
"DQTkhZXnH+HcAWFXgp4RAQhPcn6ifhDl0s1igdGtYVM"
]
},
{
"type": "X25519",
"args": [
"e6Xx3M2tFQgOVHEWR9FKjmLu4yJV7DYhW+xPNtFr4zE"
]
},
{
"type": "X25519",
"args": [
"Cifig2MYLkukZyMYDRPIG8cYpZ74G1gO6xRFqxJNRhU"
]
},
{
"type": "X25519",
"args": [
"u5Nc4g1T5DEhvoRYs6lth7D9EKcaM+aSYCTeNBfODWg"
]
},
{
"type": "X25519",
"args": [
"5QXZpD5UYzJ/DAnrRu/WJWHQn9K1QKzbMpXY6TG5hCI"
]
},
{
"type": "X25519",
"args": [
"HBPPSYMOpxekONKE5QQuU0vIVqWO+UZioqCJY+C8Rhc"
]
},
{
"type": "X25519",
"args": [
"dilBP/O1pASeDYfMvSktM26vGCuTzW00C12sLB1tgGA"
]
},
{
"type": "X25519",
"args": [
"3MNj3kw3dWC8Q3/57f1OfbMyXzOLcrcw3Iivgdh8UQE"
]
},
{
"type": "X25519",
"args": [
"qBQ8sPei+jukc8zZrhlJwbV5UzZNq6GwlASWCx4GCTo"
]
},
{
"type": "X25519",
"args": [
"ais9p7sRZGOp+b7riMN0jA1Zwadjk7M99ynjZoIK72s"
]
}
],
"access_key_stanza": 13,
"access_key_file": "format3_time_and_key_portable.dkk",
"control_cbor": "a60070646174656b6579732d636f6e74726f6c0103025820b7519c210ffd04c4a8c9b1db2e2986909218de3194b9d4492ebdb103ff30f19403582004d52390693dcd4b72881f7faf77891850b0c33c0201aca2798e75de865ca85f064800000000000002b00702",
"payload_identity": "04d52390693dcd4b72881f7faf77891850b0c33c0201aca2798e75de865ca85f",
"payload_length": 688,
"padding": 2,
"padded_length": 768,
"plaintext_file": "format3_time_and_key_portable.plaintext",
"plaintext_sha256": "e6684cf607c102bfa4d6977742d5a7520b0e09483282181bd6d8f5f4ba5f7726",
"area_len": 512,
"security_cbor": "a20071646174656b6579732d73656375726974790101",
"head_cbor": "a4006d646174656b6579732d686561640101025820bbdb331b4b6295558cc987ddeab7849aa89d70c2c7608f56fce71e238a37daf50581a6006b7365637265746f2e74787401182e020003182e045820937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b051a6abcf9c0",
"salt": "bbdb331b4b6295558cc987ddeab7849aa89d70c2c7608f56fce71e238a37daf5",
"content_offset": 642,
"files": [
{
"path": "secreto.txt",
"size": 46,
"start": 0,
"end": 46,
"sha256": "937492203d207d6fe36161b8696bf1f05b8b4cc56d855c44853f4b76aad3a05b",
"mtime": 1790769600
}
],
"verdicts": {
"signature": "F0",
"seal": "S0",
"lines": [
"Sin firma de autor."
]
},
"stages": [
{
"step": 1,
"name": "parse DKC1",
"ok": true
},
{
"step": 2,
"name": "prelude",
"ok": true
},
{
"step": 3,
"name": "public header",
"ok": true
},
{
"step": 4,
"name": "header validation",
"ok": true
},
{
"step": 5,
"name": "sealed control structure",
"ok": true
},
{
"step": 6,
"name": "payload structure",
"ok": true
},
{
"step": 7,
"name": "condition",
"ok": true
},
{
"step": 8,
"name": "tlock stanza",
"ok": true
},
{
"step": 9,
"name": "access credential",
"ok": true
},
{
"step": 9,
"name": "release",
"ok": true
},
{
"step": 10,
"name": "release verification",
"ok": true
},
{
"step": 11,
"name": "open sealed control",
"ok": true
},
{
"step": 12,
"name": "policy structure",
"ok": true
},
{
"step": 13,
"name": "open access layer",
"ok": true
},
{
"step": 14,
"name": "control",
"ok": true
},
{
"step": 15,
"name": "header binding",
"ok": true
},
{
"step": 16,
"name": "payload identity",
"ok": true
},
{
"step": 17,
"name": "open payload",
"ok": true
},
{
"step": 18,
"name": "commit",
"ok": true
}
]
}

Powered by TurnKey Linux.