1{ 2 "runOn": [ 3 { 4 "minServerVersion": "4.1.10" 5 } 6 ], 7 "database_name": "default", 8 "collection_name": "default", 9 "data": [ 10 { 11 "_id": 1, 12 "encrypted_string": { 13 "$binary": { 14 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==", 15 "subType": "00" 16 } 17 } 18 }, 19 { 20 "_id": 2, 21 "encrypted_string": { 22 "$binary": { 23 "base64": "AQ==", 24 "subType": "06" 25 } 26 } 27 }, 28 { 29 "_id": 3, 30 "encrypted_string": { 31 "$binary": { 32 "base64": "AQAAa2V2aW4gYWxiZXJ0c29uCg==", 33 "subType": "06" 34 } 35 } 36 } 37 ], 38 "key_vault_data": [ 39 { 40 "status": 1, 41 "_id": { 42 "$binary": { 43 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 44 "subType": "04" 45 } 46 }, 47 "masterKey": { 48 "provider": "aws", 49 "key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0", 50 "region": "us-east-1" 51 }, 52 "updateDate": { 53 "$date": { 54 "$numberLong": "1552949630483" 55 } 56 }, 57 "keyMaterial": { 58 "$binary": { 59 "base64": "AQICAHhQNmWG2CzOm1dq3kWLM+iDUZhEqnhJwH9wZVpuZ94A8gEqnsxXlR51T5EbEVezUqqKAAAAwjCBvwYJKoZIhvcNAQcGoIGxMIGuAgEAMIGoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDHa4jo6yp0Z18KgbUgIBEIB74sKxWtV8/YHje5lv5THTl0HIbhSwM6EqRlmBiFFatmEWaeMk4tO4xBX65eq670I5TWPSLMzpp8ncGHMmvHqRajNBnmFtbYxN3E3/WjxmdbOOe+OXpnGJPcGsftc7cB2shRfA4lICPnE26+oVNXT6p0Lo20nY5XC7jyCO", 60 "subType": "00" 61 } 62 }, 63 "creationDate": { 64 "$date": { 65 "$numberLong": "1552949630483" 66 } 67 }, 68 "keyAltNames": [ 69 "altname", 70 "another_altname" 71 ] 72 } 73 ], 74 "tests": [ 75 { 76 "description": "Wrong subtype", 77 "clientOptions": { 78 "autoEncryptOpts": { 79 "schemaMap": { 80 "default.default": { 81 "properties": { 82 "encrypted_w_altname": { 83 "encrypt": { 84 "keyId": "/altname", 85 "bsonType": "string", 86 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 87 } 88 }, 89 "encrypted_string": { 90 "encrypt": { 91 "keyId": [ 92 { 93 "$binary": { 94 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 95 "subType": "04" 96 } 97 } 98 ], 99 "bsonType": "string", 100 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 101 } 102 }, 103 "random": { 104 "encrypt": { 105 "keyId": [ 106 { 107 "$binary": { 108 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 109 "subType": "04" 110 } 111 } 112 ], 113 "bsonType": "string", 114 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 115 } 116 }, 117 "encrypted_string_equivalent": { 118 "encrypt": { 119 "keyId": [ 120 { 121 "$binary": { 122 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 123 "subType": "04" 124 } 125 } 126 ], 127 "bsonType": "string", 128 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 129 } 130 } 131 }, 132 "bsonType": "object" 133 } 134 }, 135 "kmsProviders": { 136 "aws": {} 137 } 138 } 139 }, 140 "operations": [ 141 { 142 "name": "find", 143 "arguments": { 144 "filter": { 145 "_id": 1 146 } 147 }, 148 "result": [ 149 { 150 "_id": 1, 151 "encrypted_string": { 152 "$binary": { 153 "base64": "AQAAAAAAAAAAAAAAAAAAAAACDdw4KFz3ZLquhsbt7RmDjD0N67n0uSXx7IGnQNCLeIKvot6s/ouI21Eo84IOtb6lhwUNPlSEBNY0/hbszWAKJg==", 154 "subType": "00" 155 } 156 } 157 } 158 ] 159 } 160 ] 161 }, 162 { 163 "description": "Empty data", 164 "clientOptions": { 165 "autoEncryptOpts": { 166 "schemaMap": { 167 "default.default": { 168 "properties": { 169 "encrypted_w_altname": { 170 "encrypt": { 171 "keyId": "/altname", 172 "bsonType": "string", 173 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 174 } 175 }, 176 "encrypted_string": { 177 "encrypt": { 178 "keyId": [ 179 { 180 "$binary": { 181 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 182 "subType": "04" 183 } 184 } 185 ], 186 "bsonType": "string", 187 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 188 } 189 }, 190 "random": { 191 "encrypt": { 192 "keyId": [ 193 { 194 "$binary": { 195 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 196 "subType": "04" 197 } 198 } 199 ], 200 "bsonType": "string", 201 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 202 } 203 }, 204 "encrypted_string_equivalent": { 205 "encrypt": { 206 "keyId": [ 207 { 208 "$binary": { 209 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 210 "subType": "04" 211 } 212 } 213 ], 214 "bsonType": "string", 215 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 216 } 217 } 218 }, 219 "bsonType": "object" 220 } 221 }, 222 "kmsProviders": { 223 "aws": {} 224 } 225 } 226 }, 227 "operations": [ 228 { 229 "name": "find", 230 "arguments": { 231 "filter": { 232 "_id": 2 233 } 234 }, 235 "result": { 236 "errorContains": "malformed ciphertext" 237 } 238 } 239 ] 240 }, 241 { 242 "description": "Malformed data", 243 "clientOptions": { 244 "autoEncryptOpts": { 245 "schemaMap": { 246 "default.default": { 247 "properties": { 248 "encrypted_w_altname": { 249 "encrypt": { 250 "keyId": "/altname", 251 "bsonType": "string", 252 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 253 } 254 }, 255 "encrypted_string": { 256 "encrypt": { 257 "keyId": [ 258 { 259 "$binary": { 260 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 261 "subType": "04" 262 } 263 } 264 ], 265 "bsonType": "string", 266 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 267 } 268 }, 269 "random": { 270 "encrypt": { 271 "keyId": [ 272 { 273 "$binary": { 274 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 275 "subType": "04" 276 } 277 } 278 ], 279 "bsonType": "string", 280 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random" 281 } 282 }, 283 "encrypted_string_equivalent": { 284 "encrypt": { 285 "keyId": [ 286 { 287 "$binary": { 288 "base64": "AAAAAAAAAAAAAAAAAAAAAA==", 289 "subType": "04" 290 } 291 } 292 ], 293 "bsonType": "string", 294 "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic" 295 } 296 } 297 }, 298 "bsonType": "object" 299 } 300 }, 301 "kmsProviders": { 302 "aws": {} 303 } 304 } 305 }, 306 "operations": [ 307 { 308 "name": "find", 309 "arguments": { 310 "filter": { 311 "_id": 3 312 } 313 }, 314 "result": { 315 "errorContains": "not all keys requested were satisfied" 316 } 317 } 318 ] 319 } 320 ] 321} 322