297 lines
12 KiB
JSON
297 lines
12 KiB
JSON
{
|
|
"schema": "https://thinkloom.app/schemas/provenance/1.0/encrypted-key-envelope.schema.json",
|
|
"cases": [
|
|
{
|
|
"description": "encrypted-key-envelope.schema_version: reject missing required property",
|
|
"instance": {
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.envelope_id: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.key_id: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.envelope_type: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.algorithm: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.key_derivation: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.nonce: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.wrapped_key: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.ciphertext_sha256: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.created_at: reject missing required property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope: reject unexpected property",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z",
|
|
"__unexpected": true
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.schema_version: reject value different from const",
|
|
"instance": {
|
|
"schema_version": "__INVALID_CONST__",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.envelope_id: reject pattern mismatch",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "invalid-id",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.key_id: reject pattern mismatch",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "invalid-id",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.envelope_type: reject value outside enum",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "__INVALID_ENUM__",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.algorithm: reject value outside enum",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "__INVALID_ENUM__",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.nonce: reject string below minLength",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.wrapped_key: reject string below minLength",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.ciphertext_sha256: reject pattern mismatch",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:INVALID",
|
|
"created_at": "2026-07-17T18:42:10.123Z"
|
|
}
|
|
},
|
|
{
|
|
"description": "encrypted-key-envelope.created_at: reject pattern mismatch",
|
|
"instance": {
|
|
"schema_version": "1.0",
|
|
"envelope_id": "record_01J00000000000000000000005",
|
|
"key_id": "key_01J0000000000000000000000G",
|
|
"envelope_type": "device",
|
|
"algorithm": "xchacha20-poly1305",
|
|
"key_derivation": null,
|
|
"nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
|
"wrapped_key": "d3JhcHBlZC1wcm9qZWN0LWtleQ==",
|
|
"ciphertext_sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
"created_at": "not-a-timestamp"
|
|
}
|
|
}
|
|
]
|
|
}
|