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/vectors/note.json

99 lines
7.2 KiB

Follow the draft v0.12: testdata at 601e6d2, the reader of certificates, the texts of the verdicts testdata is synced with the head of the branch v0.12 of datekeys-go (601e6d2); SPEC_VERSION stays 0.11 until the author approves the draft. - CMS as Go reads it at the draft v0.12 (review of 2 October, T2, T6 to T8 and the TypeScript side of E7 to E9): - the certificate field by field with the profile of section 29.10, its errors in CertificateError with the texts of Go; one that breaks it decides nothing unless a SignerInfo names it, and two copies are one; - the text of a name only from UTF8String, PrintableString, IA5String, TeletexString in ASCII and BMPString without surrogates, never from an attribute that appears twice; the holder by givenName and surname before the commonName, the issuer by its commonName or its organizationName; - object identifiers by the bytes of their DER; a SET OF may repeat an element; RSA with NULL parameters and an odd modulus; a key of another scheme than its algorithm is invalid; a messageImprint of another length is S3; the crls of a token decide nothing; - DER: UTCTime and GeneralizedTime in their X.690 forms with a date that exists, the restricted string types as primitive, the accuracy as minimal INTEGERs. The test of cms.test.ts that compared a function with itself has an expected value of its own. - The verdicts in the texts of the draft: names between « and », shown with at most 64 code points and no two spaces in a row, or their SHA-256; in F6 the authority of each seal and the warning that nobody checks who issued it; foreign signers in Spanish; times with their fraction. - security.json in its context with lines, and the 135 cases of security_cms.json, compared field by field, lines included. - The 218 cases of mutations.json, with the texts of capsule.Open regenerated by scripts/mutation-go-texts.go, and ibe-vectors.json with the fixtures format3_note, format3_unsigned and the new format3_seal_unsupported; its frozen values do not change. - note.json, run with checkNoteData, publicNote and unusableNote. - inspect reads the public note on demand, only for a header with one, so that the Unicode tables never load with /inspect; the view of inspect -json gives public_note and public_note_unusable, as Go. A Go/TypeScript differential of 63,623 security areas, made from the vectors, edited element by element and signed afresh with varied certificates, tokens and authorities, gave no difference in verdicts, results or lines; the code before this change differed in 13,296 of the first 42,986. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
{
"spec": "0.13",
Follow the draft v0.12: testdata at 601e6d2, the reader of certificates, the texts of the verdicts testdata is synced with the head of the branch v0.12 of datekeys-go (601e6d2); SPEC_VERSION stays 0.11 until the author approves the draft. - CMS as Go reads it at the draft v0.12 (review of 2 October, T2, T6 to T8 and the TypeScript side of E7 to E9): - the certificate field by field with the profile of section 29.10, its errors in CertificateError with the texts of Go; one that breaks it decides nothing unless a SignerInfo names it, and two copies are one; - the text of a name only from UTF8String, PrintableString, IA5String, TeletexString in ASCII and BMPString without surrogates, never from an attribute that appears twice; the holder by givenName and surname before the commonName, the issuer by its commonName or its organizationName; - object identifiers by the bytes of their DER; a SET OF may repeat an element; RSA with NULL parameters and an odd modulus; a key of another scheme than its algorithm is invalid; a messageImprint of another length is S3; the crls of a token decide nothing; - DER: UTCTime and GeneralizedTime in their X.690 forms with a date that exists, the restricted string types as primitive, the accuracy as minimal INTEGERs. The test of cms.test.ts that compared a function with itself has an expected value of its own. - The verdicts in the texts of the draft: names between « and », shown with at most 64 code points and no two spaces in a row, or their SHA-256; in F6 the authority of each seal and the warning that nobody checks who issued it; foreign signers in Spanish; times with their fraction. - security.json in its context with lines, and the 135 cases of security_cms.json, compared field by field, lines included. - The 218 cases of mutations.json, with the texts of capsule.Open regenerated by scripts/mutation-go-texts.go, and ibe-vectors.json with the fixtures format3_note, format3_unsigned and the new format3_seal_unsupported; its frozen values do not change. - note.json, run with checkNoteData, publicNote and unusableNote. - inspect reads the public note on demand, only for a header with one, so that the Unicode tables never load with /inspect; the view of inspect -json gives public_note and public_note_unusable, as Go. A Go/TypeScript differential of 63,623 security areas, made from the vectors, edited element by element and signed afresh with varied certificates, tokens and authorities, gave no difference in verdicts, results or lines; the code before this change differed in 13,296 of the first 42,986. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
"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.",
"notes": [
{
"name": "a note",
"data": "4361727461732064656c207669616a652061204c6973626f61",
"result": "ok"
},
{
"name": "letters that are not ASCII and an emoji",
"data": "c391616e64c3ba2c2061c3b16f203230323620f09f8c8d",
"result": "ok"
},
{
"name": "1024 bytes",
"data": "61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
"result": "ok"
},
{
"name": "an emoji with VS16, which the whitelist admits",
"data": "e29da4efb88f",
"result": "ok"
},
{
"name": "no byte",
"data": "",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note of 0 bytes, not 1 to 1024"
},
{
"name": "1025 bytes",
"data": "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note of 1025 bytes, not 1 to 1024"
},
{
"name": "a tab",
"data": "610962",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: control U+0009 in the declared author"
},
{
"name": "a line feed",
"data": "610a62",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: control U+000A in the declared author"
},
{
"name": "a space at the start",
"data": "2061",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: the declared author starts or ends with U+0020"
},
{
"name": "a space at the end",
"data": "6120",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: the declared author starts or ends with U+0020"
},
{
"name": "a bidi override",
"data": "61e280ae62",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: bidirectional control U+202E"
},
{
"name": "a zero width space, ignorable",
"data": "61e2808b62",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: invisible U+200B"
},
{
"name": "a byte order mark at the start",
"data": "efbbbf486f6c61",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: byte order mark U+FEFF"
},
{
"name": "a byte that is not UTF-8",
"data": "61ff",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that is not valid UTF-8"
},
{
"name": "the UTF-8 of a lone surrogate",
"data": "eda080",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that is not valid UTF-8"
},
{
"name": "a noncharacter",
"data": "61efbfbe62",
"result": "ERR_EXTENSION_DATA_INVALID",
"detail": "a public note that breaks the rules of text: text: noncharacter U+FFFE"
}
]
}

Powered by TurnKey Linux.