643 lines
19 KiB
JSON
643 lines
19 KiB
JSON
{
|
|
"runOn": [
|
|
{
|
|
"minServerVersion": "6.0.0"
|
|
}
|
|
],
|
|
"database_name": "default",
|
|
"collection_name": "default",
|
|
"data": [],
|
|
"tests": [
|
|
{
|
|
"description": "create with a validator on an unencrypted field is OK",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection",
|
|
"validator": {
|
|
"unencrypted_string": "foo"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "assertCollectionExists",
|
|
"object": "testRunner",
|
|
"arguments": {
|
|
"database": "default",
|
|
"collection": "encryptedCollection"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "create with a validator on an encrypted field is an error",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection",
|
|
"validator": {
|
|
"encrypted_string": "foo"
|
|
}
|
|
},
|
|
"result": {
|
|
"errorContains": "Comparison to encrypted fields not supported"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "collMod with a validator on an unencrypted field is OK",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "runCommand",
|
|
"object": "database",
|
|
"arguments": {
|
|
"command": {
|
|
"collMod": "encryptedCollection",
|
|
"validator": {
|
|
"unencrypted_string": "foo"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "collMod with a validator on an encrypted field is an error",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "runCommand",
|
|
"object": "database",
|
|
"arguments": {
|
|
"command": {
|
|
"collMod": "encryptedCollection",
|
|
"validator": {
|
|
"encrypted_string": "foo"
|
|
}
|
|
}
|
|
},
|
|
"result": {
|
|
"errorContains": "Comparison to encrypted fields not supported"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "createIndexes with a partialFilterExpression on an unencrypted field is OK",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "runCommand",
|
|
"object": "database",
|
|
"arguments": {
|
|
"command": {
|
|
"createIndexes": "encryptedCollection",
|
|
"indexes": [
|
|
{
|
|
"name": "name",
|
|
"key": {
|
|
"name": 1
|
|
},
|
|
"partialFilterExpression": {
|
|
"unencrypted_string": "foo"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "assertIndexExists",
|
|
"object": "testRunner",
|
|
"arguments": {
|
|
"database": "default",
|
|
"collection": "encryptedCollection",
|
|
"index": "name"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "createIndexes with a partialFilterExpression on an encrypted field is an error",
|
|
"clientOptions": {
|
|
"autoEncryptOpts": {
|
|
"kmsProviders": {
|
|
"local": {
|
|
"key": {
|
|
"$binary": {
|
|
"base64": "Mng0NCt4ZHVUYUJCa1kxNkVyNUR1QURhZ2h2UzR2d2RrZzh0cFBwM3R6NmdWMDFBMUN3YkQ5aXRRMkhGRGdQV09wOGVNYUMxT2k3NjZKelhaQmRCZGJkTXVyZG9uSjFk",
|
|
"subType": "00"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemaMap": {
|
|
"default.encryptedCollection": {
|
|
"properties": {
|
|
"encrypted_w_altname": {
|
|
"encrypt": {
|
|
"keyId": "/altname",
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
},
|
|
"random": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
|
|
}
|
|
},
|
|
"encrypted_string_equivalent": {
|
|
"encrypt": {
|
|
"keyId": [
|
|
{
|
|
"$binary": {
|
|
"base64": "AAAAAAAAAAAAAAAAAAAAAA==",
|
|
"subType": "04"
|
|
}
|
|
}
|
|
],
|
|
"bsonType": "string",
|
|
"algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
|
|
}
|
|
}
|
|
},
|
|
"bsonType": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"operations": [
|
|
{
|
|
"name": "dropCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "createCollection",
|
|
"object": "database",
|
|
"arguments": {
|
|
"collection": "encryptedCollection"
|
|
}
|
|
},
|
|
{
|
|
"name": "runCommand",
|
|
"object": "database",
|
|
"arguments": {
|
|
"command": {
|
|
"createIndexes": "encryptedCollection",
|
|
"indexes": [
|
|
{
|
|
"name": "name",
|
|
"key": {
|
|
"name": 1
|
|
},
|
|
"partialFilterExpression": {
|
|
"encrypted_string": "foo"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"result": {
|
|
"errorContains": "Comparison to encrypted fields not supported"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|