7
7
from bson .codec_options import CodecOptions
8
8
from pymongo .encryption import AutoEncryptionOpts , ClientEncryption
9
9
10
+ KEY_VAULT_DATABASE_NAME = "keyvault"
11
+ KEY_VAULT_COLLECTION_NAME = "__keyVault"
12
+
10
13
11
14
def get_kms_providers ():
12
15
"""
@@ -19,7 +22,7 @@ def get_kms_providers():
19
22
}
20
23
21
24
22
- def get_client_encryption (encrypted_connection ):
25
+ def get_client_encryption (client ):
23
26
"""
24
27
Returns a `ClientEncryption` instance for MongoDB Client-Side Field Level
25
28
Encryption (CSFLE) that can be used to create an encrypted collection.
@@ -28,21 +31,26 @@ def get_client_encryption(encrypted_connection):
28
31
key_vault_namespace = get_key_vault_namespace ()
29
32
kms_providers = get_kms_providers ()
30
33
codec_options = CodecOptions (uuid_representation = STANDARD )
31
- return ClientEncryption (kms_providers , key_vault_namespace , encrypted_connection , codec_options )
34
+ return ClientEncryption (kms_providers , key_vault_namespace , client , codec_options )
32
35
33
36
34
- def get_key_vault_namespace ():
35
- key_vault_database_name = "encryption"
36
- key_vault_collection_name = "__keyVault"
37
+ def get_key_vault_namespace (
38
+ key_vault_database_name = KEY_VAULT_DATABASE_NAME ,
39
+ key_vault_collection_name = KEY_VAULT_COLLECTION_NAME ,
40
+ ):
37
41
return f"{ key_vault_database_name } .{ key_vault_collection_name } "
38
42
39
43
40
- def get_auto_encryption_opts (crypt_shared_lib_path = None , kms_providers = None ):
44
+ KEY_VAULT_NAMESPACE = get_key_vault_namespace ()
45
+
46
+
47
+ def get_auto_encryption_opts (
48
+ key_vault_namespace = KEY_VAULT_NAMESPACE , crypt_shared_lib_path = None , kms_providers = None
49
+ ):
41
50
"""
42
51
Returns an `AutoEncryptionOpts` instance for MongoDB Client-Side Field
43
52
Level Encryption (CSFLE) that can be used to create an encrypted connection.
44
53
"""
45
- key_vault_namespace = get_key_vault_namespace ()
46
54
return AutoEncryptionOpts (
47
55
key_vault_namespace = key_vault_namespace ,
48
56
kms_providers = kms_providers ,
0 commit comments