Skip to content

Commit 898a66f

Browse files
committed
Merge pull request #748
* phplib-554: PHPLIB-554: Stop using admin database for encryption keys
2 parents 77d0326 + 2f501be commit 898a66f

25 files changed

+91
-91
lines changed

tests/SpecTests/ClientSideEncryptionSpecTest.php

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public static function assertCommandMatches(stdClass $expected, stdClass $actual
6868
* @param stdClass $test Individual "tests[]" document
6969
* @param array $runOn Top-level "runOn" array with server requirements
7070
* @param array $data Top-level "data" array to initialize collection
71-
* @param array|null $keyVaultData Top-level "key_vault_data" array to initialize admin.datakeys collection
71+
* @param array|null $keyVaultData Top-level "key_vault_data" array to initialize keyvault.datakeys collection
7272
* @param object|null $jsonSchema Top-level "json_schema" array to initialize collection
7373
* @param string $databaseName Name of database under test
7474
* @param string $collectionName Name of collection under test
@@ -170,11 +170,11 @@ public function testDataKeyAndDoubleEncryption(Closure $test)
170170
{
171171
$client = new Client(static::getUri());
172172

173-
$client->selectCollection('admin', 'datakeys')->drop();
173+
$client->selectCollection('keyvault', 'datakeys')->drop();
174174
$client->selectCollection('db', 'coll')->drop();
175175

176176
$encryptionOpts = [
177-
'keyVaultNamespace' => 'admin.datakeys',
177+
'keyVaultNamespace' => 'keyvault.datakeys',
178178
'kmsProviders' => [
179179
'aws' => Context::getAWSCredentials(),
180180
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
@@ -231,7 +231,7 @@ function ($command) use (&$commands) {
231231
$test->assertSame('insert', $insert->getCommandName());
232232
$test->assertSame(WriteConcern::MAJORITY, $insert->getCommand()->writeConcern->w);
233233

234-
$keys = $client->selectCollection('admin', 'datakeys')->find(['_id' => $localDatakeyId]);
234+
$keys = $client->selectCollection('keyvault', 'datakeys')->find(['_id' => $localDatakeyId]);
235235
$keys = iterator_to_array($keys);
236236
$test->assertCount(1, $keys);
237237

@@ -277,7 +277,7 @@ function ($command) use (&$commands) {
277277
$test->assertSame('insert', $insert->getCommandName());
278278
$test->assertSame(WriteConcern::MAJORITY, $insert->getCommand()->writeConcern->w);
279279

280-
$keys = $client->selectCollection('admin', 'datakeys')->find(['_id' => $awsDatakeyId]);
280+
$keys = $client->selectCollection('keyvault', 'datakeys')->find(['_id' => $awsDatakeyId]);
281281
$keys = iterator_to_array($keys);
282282
$test->assertCount(1, $keys);
283283

@@ -314,16 +314,16 @@ public function testExternalKeyVault($withExternalKeyVault)
314314
{
315315
$client = new Client(static::getUri());
316316

317-
$client->selectCollection('admin', 'datakeys')->drop();
317+
$client->selectCollection('keyvault', 'datakeys')->drop();
318318
$client->selectCollection('db', 'coll')->drop();
319319

320320
$keyId = $client
321-
->selectCollection('admin', 'datakeys')
321+
->selectCollection('keyvault', 'datakeys')
322322
->insertOne($this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/external/external-key.json')))
323323
->getInsertedId();
324324

325325
$encryptionOpts = [
326-
'keyVaultNamespace' => 'admin.datakeys',
326+
'keyVaultNamespace' => 'keyvault.datakeys',
327327
'kmsProviders' => [
328328
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
329329
],
@@ -372,14 +372,14 @@ public function testBSONSizeLimitsAndBatchSplitting()
372372
{
373373
$client = new Client(static::getUri());
374374

375-
$client->selectCollection('admin', 'datakeys')->drop();
375+
$client->selectCollection('keyvault', 'datakeys')->drop();
376376
$client->selectCollection('db', 'coll')->drop();
377377

378378
$client->selectDatabase('db')->createCollection('coll', ['validator' => ['$jsonSchema' => $this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/limits/limits-schema.json'))]]);
379-
$client->selectCollection('admin', 'datakeys')->insertOne($this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/limits/limits-key.json')));
379+
$client->selectCollection('keyvault', 'datakeys')->insertOne($this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/limits/limits-key.json')));
380380

381381
$autoEncryptionOpts = [
382-
'keyVaultNamespace' => 'admin.datakeys',
382+
'keyVaultNamespace' => 'keyvault.datakeys',
383383
'kmsProviders' => [
384384
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
385385
],
@@ -464,7 +464,7 @@ public function testViewsAreProhibited()
464464
$client->selectDatabase('db')->command(['create' => 'view', 'viewOn' => 'coll']);
465465

466466
$autoEncryptionOpts = [
467-
'keyVaultNamespace' => 'admin.datakeys',
467+
'keyVaultNamespace' => 'keyvault.datakeys',
468468
'kmsProviders' => [
469469
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
470470
],
@@ -503,14 +503,14 @@ public function testCorpus($schemaMap = true)
503503
->createCollection('coll', ['validator' => ['$jsonSchema' => $schema]]);
504504
}
505505

506-
$client->selectDatabase('admin')->dropCollection('datakeys');
507-
$client->selectCollection('admin', 'datakeys')->insertMany([
506+
$client->selectDatabase('keyvault')->dropCollection('datakeys');
507+
$client->selectCollection('keyvault', 'datakeys')->insertMany([
508508
$this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/corpus/corpus-key-local.json')),
509509
$this->decodeJson(file_get_contents(__DIR__ . '/client-side-encryption/corpus/corpus-key-aws.json')),
510510
]);
511511

512512
$encryptionOpts = [
513-
'keyVaultNamespace' => 'admin.datakeys',
513+
'keyVaultNamespace' => 'keyvault.datakeys',
514514
'kmsProviders' => [
515515
'aws' => Context::getAWSCredentials(),
516516
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
@@ -561,7 +561,7 @@ public function testCustomEndpoint()
561561
$client = new Client(static::getUri());
562562

563563
$encryptionOpts = [
564-
'keyVaultNamespace' => 'admin.datakeys',
564+
'keyVaultNamespace' => 'keyvault.datakeys',
565565
'kmsProviders' => [
566566
'aws' => Context::getAWSCredentials(),
567567
],
@@ -615,7 +615,7 @@ public function testCustomEndpoint()
615615
public function testBypassSpawningMongocryptdViaBypassSpawn()
616616
{
617617
$autoEncryptionOpts = [
618-
'keyVaultNamespace' => 'admin.datakeys',
618+
'keyVaultNamespace' => 'keyvault.datakeys',
619619
'kmsProviders' => [
620620
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
621621
],
@@ -648,7 +648,7 @@ public function testBypassSpawningMongocryptdViaBypassSpawn()
648648
public function testBypassSpawningMongocryptdViaBypassAutoEncryption()
649649
{
650650
$autoEncryptionOpts = [
651-
'keyVaultNamespace' => 'admin.datakeys',
651+
'keyVaultNamespace' => 'keyvault.datakeys',
652652
'kmsProviders' => [
653653
'local' => ['key' => new Binary(base64_decode(self::LOCAL_MASTERKEY), 0)],
654654
],
@@ -743,7 +743,7 @@ private function insertKeyVaultData(array $keyVaultData = null)
743743
}
744744

745745
$context = $this->getContext();
746-
$collection = $context->selectCollection('admin', 'datakeys', ['writeConcern' => new WriteConcern(WriteConcern::MAJORITY)] + $context->defaultWriteOptions);
746+
$collection = $context->selectCollection('keyvault', 'datakeys', ['writeConcern' => new WriteConcern(WriteConcern::MAJORITY)] + $context->defaultWriteOptions);
747747
$collection->drop();
748748
$collection->insertMany($keyVaultData);
749749

tests/SpecTests/Context.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public static function fromClientSideEncryption(stdClass $test, $databaseName, $
112112
$autoEncryptionOptions = [];
113113

114114
if (isset($clientOptions['autoEncryptOpts'])) {
115-
$autoEncryptionOptions = (array) $clientOptions['autoEncryptOpts'] + ['keyVaultNamespace' => 'admin.datakeys'];
115+
$autoEncryptionOptions = (array) $clientOptions['autoEncryptOpts'] + ['keyVaultNamespace' => 'keyvault.datakeys'];
116116
unset($clientOptions['autoEncryptOpts']);
117117

118118
if (isset($autoEncryptionOptions['kmsProviders']->aws)) {

tests/SpecTests/client-side-encryption/tests/aggregate.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
"filter": {
158158
"name": "datakeys"
159159
},
160-
"$db": "admin"
160+
"$db": "keyvault"
161161
},
162162
"command_name": "listCollections"
163163
}
@@ -187,7 +187,7 @@
187187
}
188188
]
189189
},
190-
"$db": "admin",
190+
"$db": "keyvault",
191191
"readConcern": {
192192
"level": "majority"
193193
}
@@ -280,7 +280,7 @@
280280
"filter": {
281281
"name": "datakeys"
282282
},
283-
"$db": "admin"
283+
"$db": "keyvault"
284284
},
285285
"command_name": "listCollections"
286286
}
@@ -310,7 +310,7 @@
310310
}
311311
]
312312
},
313-
"$db": "admin",
313+
"$db": "keyvault",
314314
"readConcern": {
315315
"level": "majority"
316316
}

tests/SpecTests/client-side-encryption/tests/basic.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
"filter": {
152152
"name": "datakeys"
153153
},
154-
"$db": "admin"
154+
"$db": "keyvault"
155155
},
156156
"command_name": "listCollections"
157157
}
@@ -181,7 +181,7 @@
181181
}
182182
]
183183
},
184-
"$db": "admin",
184+
"$db": "keyvault",
185185
"readConcern": {
186186
"level": "majority"
187187
}
@@ -290,7 +290,7 @@
290290
"filter": {
291291
"name": "datakeys"
292292
},
293-
"$db": "admin"
293+
"$db": "keyvault"
294294
},
295295
"command_name": "listCollections"
296296
}
@@ -320,7 +320,7 @@
320320
}
321321
]
322322
},
323-
"$db": "admin",
323+
"$db": "keyvault",
324324
"readConcern": {
325325
"level": "majority"
326326
}

tests/SpecTests/client-side-encryption/tests/bulk.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@
185185
"filter": {
186186
"name": "datakeys"
187187
},
188-
"$db": "admin"
188+
"$db": "keyvault"
189189
},
190190
"command_name": "listCollections"
191191
}
@@ -215,7 +215,7 @@
215215
}
216216
]
217217
},
218-
"$db": "admin",
218+
"$db": "keyvault",
219219
"readConcern": {
220220
"level": "majority"
221221
}

tests/SpecTests/client-side-encryption/tests/bypassAutoEncryption.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@
196196
}
197197
]
198198
},
199-
"$db": "admin",
199+
"$db": "keyvault",
200200
"readConcern": {
201201
"level": "majority"
202202
}
@@ -369,7 +369,7 @@
369369
}
370370
]
371371
},
372-
"$db": "admin",
372+
"$db": "keyvault",
373373
"readConcern": {
374374
"level": "majority"
375375
}

tests/SpecTests/client-side-encryption/tests/count.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
"filter": {
157157
"name": "datakeys"
158158
},
159-
"$db": "admin"
159+
"$db": "keyvault"
160160
},
161161
"command_name": "listCollections"
162162
}
@@ -186,7 +186,7 @@
186186
}
187187
]
188188
},
189-
"$db": "admin",
189+
"$db": "keyvault",
190190
"readConcern": {
191191
"level": "majority"
192192
}

tests/SpecTests/client-side-encryption/tests/countDocuments.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
"filter": {
158158
"name": "datakeys"
159159
},
160-
"$db": "admin"
160+
"$db": "keyvault"
161161
},
162162
"command_name": "listCollections"
163163
}
@@ -187,7 +187,7 @@
187187
}
188188
]
189189
},
190-
"$db": "admin",
190+
"$db": "keyvault",
191191
"readConcern": {
192192
"level": "majority"
193193
}

tests/SpecTests/client-side-encryption/tests/delete.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158
"filter": {
159159
"name": "datakeys"
160160
},
161-
"$db": "admin"
161+
"$db": "keyvault"
162162
},
163163
"command_name": "listCollections"
164164
}
@@ -188,7 +188,7 @@
188188
}
189189
]
190190
},
191-
"$db": "admin",
191+
"$db": "keyvault",
192192
"readConcern": {
193193
"level": "majority"
194194
}
@@ -283,7 +283,7 @@
283283
"filter": {
284284
"name": "datakeys"
285285
},
286-
"$db": "admin"
286+
"$db": "keyvault"
287287
},
288288
"command_name": "listCollections"
289289
}
@@ -313,7 +313,7 @@
313313
}
314314
]
315315
},
316-
"$db": "admin",
316+
"$db": "keyvault",
317317
"readConcern": {
318318
"level": "majority"
319319
}

tests/SpecTests/client-side-encryption/tests/distinct.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
"filter": {
169169
"name": "datakeys"
170170
},
171-
"$db": "admin"
171+
"$db": "keyvault"
172172
},
173173
"command_name": "listCollections"
174174
}
@@ -198,7 +198,7 @@
198198
}
199199
]
200200
},
201-
"$db": "admin",
201+
"$db": "keyvault",
202202
"readConcern": {
203203
"level": "majority"
204204
}

tests/SpecTests/client-side-encryption/tests/explain.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@
162162
"filter": {
163163
"name": "datakeys"
164164
},
165-
"$db": "admin"
165+
"$db": "keyvault"
166166
},
167167
"command_name": "listCollections"
168168
}
@@ -192,7 +192,7 @@
192192
}
193193
]
194194
},
195-
"$db": "admin",
195+
"$db": "keyvault",
196196
"readConcern": {
197197
"level": "majority"
198198
}

0 commit comments

Comments
 (0)