The review found that security.json said spec 0.11 and still gave the verdicts of a reader of v0.10, evaluated without context, contrary to what section 76 announced (D1). - security.json carries the context of a capsule, its commitments and the time of its round, and each case its verdicts and the lines of the official SDK in it: a signature of alg 1 that does not verify is F2, a token of seal_type 2 that is not DER is S2, and new cases give a valid signature of alg 1 (F4) and alg and seal_type 4294967295 (F1, S1). - mutations.json: the signature of alg 1 that does not verify (F2) is a case of 64, and the seal that opens with S1 uses seal_type 4294967295, not seal_type 1, which a later version may define. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>v0.12
parent
0f51af780a
commit
aaf0f41156
@ -1,132 +1,237 @@
|
||||
{
|
||||
"spec": "0.11",
|
||||
"description": "SECURITY_CBOR of format 3, exactly its SECURITY_LEN bytes, and the verdicts of the signature and of the seal (spec §29.3, §29.7), generated by the reference implementation, which implements no alg and no seal_type. 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.",
|
||||
"context": {
|
||||
"control_commit": "0101010101010101010101010101010101010101010101010101010101010101",
|
||||
"head_digest": "0202020202020202020202020202020202020202020202020202020202020202",
|
||||
"round_time": "2030-01-01T00:00:00Z"
|
||||
},
|
||||
"vectors": [
|
||||
{
|
||||
"name": "empty, as writers of this version write it",
|
||||
"hex": "a20071646174656b6579732d73656375726974790101",
|
||||
"signature": "F0",
|
||||
"seal": "S0"
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"Sin firma de autor."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature of alg 1",
|
||||
"name": "a signature of alg 1 that does not verify: its S has bits above 252",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101025869a30001015820111111111111111111111111111111111111111111111111111111111111111102584022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222",
|
||||
"signature": "F2",
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"La firma no corresponde a este contenido."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature of alg 1 that verifies",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101025869a30001015820c1f26f2fe7a8b5046cadaea50cfd6f1c9eba22a77d964d84cdc9843d98057a0902584099e44f44384abbffd3c0853ce1b3841b89f0677152342210b619c1612707f11fe3b1213d135030fecf018f0c06aa7bc4b170028be79038cf5abd2c3d2ff39900",
|
||||
"signature": "F4",
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"Firmado con la clave dkauthor1c8ex7tl84z6sgm9d46jselt0rj0t5g480ktympxdexzrmxq90gysk64cx5. No prueba quién la tiene."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature of alg 4294967295, reserved for tests",
|
||||
"hex": "a30071646174656b6579732d7365637572697479010102586da3001affffffff015820111111111111111111111111111111111111111111111111111111111111111102584022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222",
|
||||
"signature": "F1",
|
||||
"seal": "S0"
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"No se ha comprobado ninguna firma: trátala como no firmada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal of seal_type 1",
|
||||
"name": "a seal of seal_type 1, reserved",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101035826a200010158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F0",
|
||||
"seal": "S1"
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal of seal_type 2, RFC 3161",
|
||||
"name": "a seal of seal_type 2 whose token is not DER",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101035826a200020158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F0",
|
||||
"seal": "S1"
|
||||
"seal": "S2",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"El sello de tiempo es ilegible: no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal of seal_type 3, OpenTimestamps",
|
||||
"name": "a seal of seal_type 3, which no version defines",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101035826a200030158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F0",
|
||||
"seal": "S1"
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature and a seal",
|
||||
"name": "a seal of seal_type 4294967295, reserved for tests",
|
||||
"hex": "a30071646174656b6579732d7365637572697479010103582aa2001affffffff0158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F0",
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature that does not verify and a seal of seal_type 1",
|
||||
"hex": "a40071646174656b6579732d73656375726974790101025869a30001015820111111111111111111111111111111111111111111111111111111111111111102584022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222035826a200010158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F1",
|
||||
"seal": "S1"
|
||||
"signature": "F2",
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"La firma no corresponde a este contenido.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature of alg 0, and the seal intact",
|
||||
"hex": "a40071646174656b6579732d73656375726974790101025849a3000001582011111111111111111111111111111111111111111111111111111111111111110258202222222222222222222222222222222222222222222222222222222222222222035826a200010158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F1",
|
||||
"seal": "S1"
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"No se ha comprobado ninguna firma: trátala como no firmada.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature with an empty key, and the seal intact",
|
||||
"hex": "a40071646174656b6579732d73656375726974790101025828a3000101400258202222222222222222222222222222222222222222222222222222222222222222035826a200010158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F1",
|
||||
"seal": "S1"
|
||||
"seal": "S1",
|
||||
"lines": [
|
||||
"No se ha comprobado ninguna firma: trátala como no firmada.",
|
||||
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature that is not CBOR",
|
||||
"hex": "a30071646174656b6579732d736563757269747901010241ff",
|
||||
"signature": "F1",
|
||||
"seal": "S0"
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"No se ha comprobado ninguna firma: trátala como no firmada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a signature with a byte more",
|
||||
"hex": "a30071646174656b6579732d7365637572697479010102586aa3000101582011111111111111111111111111111111111111111111111111111111111111110258402222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222200",
|
||||
"signature": "F1",
|
||||
"seal": "S0"
|
||||
"seal": "S0",
|
||||
"lines": [
|
||||
"No se ha comprobado ninguna firma: trátala como no firmada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal of seal_type 0",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101035826a200000158203333333333333333333333333333333333333333333333333333333333333333",
|
||||
"signature": "F0",
|
||||
"seal": "S2"
|
||||
"seal": "S2",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"El sello de tiempo es ilegible: no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal that breaks its schema, with an unknown seal_type",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101035829a300186301582033333333333333333333333333333333333333333333333333333333333333330200",
|
||||
"signature": "F0",
|
||||
"seal": "S2"
|
||||
"seal": "S2",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"El sello de tiempo es ilegible: no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a seal that is not CBOR",
|
||||
"hex": "a30071646174656b6579732d736563757269747901010341ff",
|
||||
"signature": "F0",
|
||||
"seal": "S2"
|
||||
"seal": "S2",
|
||||
"lines": [
|
||||
"Sin firma de autor.",
|
||||
"El sello de tiempo es ilegible: no prueba nada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "key 2 that is not a byte string",
|
||||
"hex": "a30071646174656b6579732d7365637572697479010102a10001",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "key 2 that is an empty byte string",
|
||||
"hex": "a30071646174656b6579732d736563757269747901010240",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "an unknown key 4",
|
||||
"hex": "a30071646174656b6579732d73656375726974790101044101",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "a byte more after the map",
|
||||
"hex": "a20071646174656b6579732d7365637572697479010100",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "version 2",
|
||||
"hex": "a20071646174656b6579732d73656375726974790102",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "the type tag of the head",
|
||||
"hex": "a2006d646174656b6579732d686561640101",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "keys 2 and 3 out of order",
|
||||
"hex": "a40071646174656b6579732d73656375726974790101035826a200010158203333333333333333333333333333333333333333333333333333333333333333025869a30001015820111111111111111111111111111111111111111111111111111111111111111102584022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "an array",
|
||||
"hex": "8271646174656b6579732d736563757269747901",
|
||||
"signature": "X",
|
||||
"seal": "X"
|
||||
"seal": "X",
|
||||
"lines": [
|
||||
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue