Skip to content

Commit bda9e3a

Browse files
authored
PYTHON-3469 Error if RewrapManyDataKey is called with masterKey and without provider (#1214)
1 parent 2a869b5 commit bda9e3a

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

pymongo/encryption.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,6 +1033,8 @@ def rewrap_many_data_key(
10331033
10341034
.. versionadded:: 4.2
10351035
"""
1036+
if master_key is not None and provider is None:
1037+
raise ConfigurationError("A provider must be given if a master_key is given")
10361038
self._check_closed()
10371039
with _wrap_encryption_errors():
10381040
raw_result = self._encryption.rewrap_many_data_key(filter, provider, master_key)

test/test_encryption.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2387,6 +2387,12 @@ def run_test(self, src_provider, dst_provider):
23872387
decrypt_result2 = client_encryption2.decrypt(cipher_text)
23882388
self.assertEqual(decrypt_result2, "test")
23892389

2390+
# 8. Case 2. Provider is not optional when master_key is given.
2391+
with self.assertRaises(ConfigurationError):
2392+
rewrap_many_data_key_result = client_encryption2.rewrap_many_data_key(
2393+
{}, master_key=self.MASTER_KEYS[dst_provider]
2394+
)
2395+
23902396

23912397
# https://github.com/mongodb/specifications/blob/5cf3ed/source/client-side-encryption/tests/README.rst#on-demand-aws-credentials
23922398
class TestOnDemandAWSCredentials(EncryptionIntegrationTest):

0 commit comments

Comments
 (0)