Skip to content

Commit 2fe20fc

Browse files
(DOCSP-22711 + DOCSP-22715) Node + Mongosh Code Review (#1165)
* ah: manual enc + options updates * remove monitor commands * ah - remove unused line * ah - base64 import remove
1 parent ca16af3 commit 2fe20fc

File tree

11 files changed

+38
-56
lines changed

11 files changed

+38
-56
lines changed
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
var ClientSideFieldLevelEncryptionOptions =
22
{
3-
"keyVaultClient" : keyVaultClient,
43
"keyVaultNamespace" : "<database>.<collection>",
54
"kmsProviders" : { ... },
65
"schemaMap" : { ... }
76
}
87

98
cluster = Mongo(
10-
"mongodb://myhostexample.net:27017/?replicaSet=myReplicaSet",
9+
"<Your Connection String>",
1110
ClientSideFieldLevelEncryptionOptions
1211
);
Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,62 @@
1-
var database = "medicalRecords";
2-
var collection = "patients";
3-
var kmsProviders = {
1+
const database = "medicalRecords";
2+
const collection = "patients";
3+
const kmsProviders = {
44
aws: {
5-
accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
6-
secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
5+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
6+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
77
},
88
};
9-
var masterKey = {
10-
key: process.env["AWS_KEY_ARN"],
11-
region: process.env["AWS_KEY_REGION"],
9+
const masterKey = {
10+
key: process.env.AWS_KEY_ARN,
11+
region: process.env.AWS_KEY_REGION,
1212
};
13-
var connectionString = process.env.DRIVER_URL;
14-
var keyVaultNamespace = "encryption.__keyVault";
13+
const connectionString = process.env.DRIVER_URL;
14+
const keyVaultNamespace = "encryption.__keyVault";
1515

1616
// start_mongoclient
17-
var ClientSideFieldLevelEncryptionOptions = {
17+
const ClientSideFieldLevelEncryptionOptions = {
1818
keyVaultNamespace: keyVaultNamespace,
1919
kmsProviders: kmsProviders,
2020
};
21-
var encryptedClient = Mongo(
21+
const encryptedClient = Mongo(
2222
connectionString,
2323
ClientSideFieldLevelEncryptionOptions
2424
);
2525
// end_mongoclient
2626
// start_client_enc
27-
var clientEncryption = encryptedClient.getClientEncryption();
27+
const clientEncryption = encryptedClient.getClientEncryption();
2828
// end_client_enc
2929

30-
var keyVault = encryptedClient.getKeyVault();
31-
var keyId = keyVault.createKey("aws", masterKey);
30+
const keyVault = encryptedClient.getKeyVault();
31+
const keyId = keyVault.createKey("aws", masterKey);
3232

3333
// start_enc_and_insert
34-
var encName = clientEncryption.encrypt(
34+
const encName = clientEncryption.encrypt(
3535
keyId,
3636
"Greg",
3737
"AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
3838
);
39-
var encFoods = clientEncryption.encrypt(
39+
const encFoods = clientEncryption.encrypt(
4040
keyId,
4141
["Cheese", "Grapes"],
4242
"AEAD_AES_256_CBC_HMAC_SHA_512-Random"
4343
);
44-
// end_enc_and_insert
45-
// start_find_decrypt
4644
db.getSiblingDB(database).getCollection(collection).insertOne({
4745
name: encName,
4846
foods: encFoods,
4947
});
50-
51-
var encNameQuery = clientEncryption.encrypt(
48+
// end_enc_and_insert
49+
// start_find_decrypt
50+
const encNameQuery = clientEncryption.encrypt(
5251
keyId,
5352
"Greg",
5453
"AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
5554
);
56-
var doc = db.getSiblingDB(database).getCollection(collection).findOne({
55+
let doc = db.getSiblingDB(database).getCollection(collection).findOne({
5756
name: encNameQuery,
5857
});
59-
doc;
60-
doc["name"] = clientEncryption.decrypt(doc["name"]);
61-
doc["foods"] = clientEncryption.decrypt(doc["foods"]);
62-
doc;
58+
console.log(doc);
59+
doc.name = clientEncryption.decrypt(doc.name);
60+
doc.foods = clientEncryption.decrypt(doc.foods);
61+
console.log(doc);
6362
// end_find_decrypt

source/includes/fundamentals/manual-encryption/manual-enc.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ const mongodb = require("mongodb");
22
const { ClientEncryption } = require("mongodb-client-encryption");
33
const { MongoClient, Binary } = mongodb;
44

5-
var db = "medicalRecords";
6-
var coll = "patients";
5+
const db = "medicalRecords";
6+
const coll = "patients";
77

88
// start-specify-credentials
99
const provider = "aws";
1010
const kmsProviders = {
1111
aws: {
12-
accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
13-
secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
12+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
13+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
1414
},
1515
};
1616
const masterKey = {
17-
key: process.env["AWS_KEY_ARN"],
18-
region: process.env["AWS_KEY_REGION"],
17+
key: process.env.AWS_KEY_ARN,
18+
region: process.env.AWS_KEY_REGION,
1919
};
2020
// end-specify-state
2121

@@ -66,8 +66,8 @@ async function main() {
6666
});
6767
let doc = await collection.findOne({ name: queryEncryptedName });
6868
console.log("Encrypted Document: ", doc);
69-
doc["name"] = encryption.decrypt(doc["name"]);
70-
doc["foods"] = encryption.decrypt(doc["foods"]);
69+
doc.name = encryption.decrypt(doc.name);
70+
doc.foods = encryption.decrypt(doc.foods);
7171
console.log("Decrypted document: ", doc);
7272
// end_find_decrypt
7373
} finally {

source/includes/sample_apps/csfle/build/node/aws/reader/insert_encrypted_document.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ const extraOptions = {
7373
const secureClient = new MongoClient(connectionString, {
7474
useNewUrlParser: true,
7575
useUnifiedTopology: true,
76-
monitorCommands: true,
7776
autoEncryption: {
7877
keyVaultNamespace,
7978
kmsProviders,

source/includes/sample_apps/csfle/build/node/aws/reader/make_data_key.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const masterKey = {
2020
// end-datakeyopts
2121

2222
// start-create-dek
23-
const base64 = require("base64-js");
2423
const connectionString = "<Your Connection String>";
2524
const keyVaultNamespace = "encryption.__keyVault";
2625
const client = new MongoClient(connectionString, {
@@ -38,9 +37,7 @@ async function main() {
3837
const key = await encryption.createDataKey(provider, {
3938
masterKey: masterKey,
4039
});
41-
const base64DataKeyId = key.toString("base64");
42-
const uuidDataKeyId = base64.fromByteArray(base64DataKeyId);
43-
console.log("DataKeyId [base64]: ", base64DataKeyId);
40+
console.log("DataKeyId [base64]: ", key.toString("base64"));
4441
} finally {
4542
await client.close();
4643
}

source/includes/sample_apps/csfle/build/node/azure/reader/insert_encrypted_document.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ const extraOptions = {
7474
const secureClient = new MongoClient(connectionString, {
7575
useNewUrlParser: true,
7676
useUnifiedTopology: true,
77-
monitorCommands: true,
7877
autoEncryption: {
7978
keyVaultNamespace,
8079
kmsProviders,

source/includes/sample_apps/csfle/build/node/azure/reader/make_data_key.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ const masterKey = {
2121
// end-datakeyopts
2222

2323
// start-create-dek
24-
const base64 = require("base64-js");
2524
const connectionString = "<Your Connection String>";
2625
const keyVaultNamespace = "encryption.__keyVault";
2726
const client = new MongoClient(connectionString, {
@@ -39,9 +38,7 @@ async function main() {
3938
const key = await encryption.createDataKey(provider, {
4039
masterKey: masterKey,
4140
});
42-
const base64DataKeyId = key.toString("base64");
43-
const uuidDataKeyId = base64.fromByteArray(base64DataKeyId);
44-
console.log("DataKeyId [base64]: ", base64DataKeyId);
41+
console.log("DataKeyId [base64]: ", key.toString("base64"));
4542
} finally {
4643
await client.close();
4744
}

source/includes/sample_apps/csfle/build/node/gcp/reader/insert_encrypted_document.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ const extraOptions = {
7373
const secureClient = new MongoClient(connectionString, {
7474
useNewUrlParser: true,
7575
useUnifiedTopology: true,
76-
monitorCommands: true,
7776
autoEncryption: {
7877
keyVaultNamespace,
7978
kmsProviders,

source/includes/sample_apps/csfle/build/node/gcp/reader/make_data_key.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ const masterKey = {
2222
// end-datakeyopts
2323

2424
// start-create-dek
25-
const base64 = require("base64-js");
2625
const connectionString = "<Your Connection String>";
2726
const keyVaultNamespace = "encryption.__keyVault";
2827
const client = new MongoClient(connectionString, {
@@ -40,9 +39,7 @@ async function main() {
4039
const key = await encryption.createDataKey(provider, {
4140
masterKey: masterKey,
4241
});
43-
const base64DataKeyId = key.toString("base64");
44-
const uuidDataKeyId = base64.fromByteArray(base64DataKeyId);
45-
console.log("DataKeyId [base64]: ", base64DataKeyId);
42+
console.log("DataKeyId [base64]: ", key.toString("base64"));
4643
} finally {
4744
await client.close();
4845
}

source/includes/sample_apps/csfle/build/node/local/reader/insert_encrypted_document.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ const extraOptions = {
7676
const secureClient = new MongoClient(connectionString, {
7777
useNewUrlParser: true,
7878
useUnifiedTopology: true,
79-
monitorCommands: true,
8079
autoEncryption: {
8180
keyVaultNamespace,
8281
kmsProviders,

0 commit comments

Comments
 (0)