[DRIVERS-2017] Add ClientEncryption entity and Key Management API operations to Unified Test Format Created: 04/Jan/22  Updated: 07/Apr/23  Resolved: 07/Apr/23

Status: Closed
Project: Drivers
Component/s: Client Side Encryption, Unified Test Runner
Fix Version/s: None

Type: Task Priority: Unknown
Reporter: Kevin Albertson Assignee: Ezra Chung
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-2295 Convert CSFLE spec tests to unified t... Backlog
Issue split
split to CDRIVER-4317 Add ClientEncryption entity and Key M... Closed
split to CSHARP-4106 Add ClientEncryption entity and Key M... Closed
split to CXX-2474 Add ClientEncryption entity and Key M... Closed
split to GODRIVER-2352 Add ClientEncryption entity and Key M... Closed
split to MOTOR-916 Add ClientEncryption entity and Key M... Closed
split to PYTHON-3179 Add ClientEncryption entity and Key M... Closed
split to RUBY-2931 Add ClientEncryption entity and Key M... Closed
split to RUST-1227 Add ClientEncryption entity and Key M... Closed
split to PHPLIB-820 Update unified test runner for key ma... Closed
split to JAVA-4540 Add ClientEncryption entity and Key M... Closed
split to NODE-4110 Add ClientEncryption entity and Key M... Closed
Related
related to MONGOSH-1239 Add addKeyAltName and removeKeyAltNam... Closed
related to DRIVERS-2373 Remove unnecessary on-demand credenti... Closed
related to DRIVERS-2356 Reduce expected removeKeyAltName oper... Closed
related to DRIVERS-2360 Ensure "does not fail" in CSE Prose T... Closed
related to DRIVERS-2367 Allow RewrapManyDataKeyResult.bulkWri... Closed
related to DRIVERS-2296 Allow ClientEncryptionOpts.keyVaultCl... Backlog
related to DRIVERS-2414 CSFLE spec tests should not specify o... Closed
is related to MONGOCRYPT-382 Support on-demand credentials Closed
is related to MONGOCRYPT-394 Allow on-demand credentials for KMS p... Closed
Epic Link: Key Management API
Driver Changes: Needed
Quarter: FY23Q2
Downstream Changes Summary:
Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4317 Fixed 1.22.0, 1.22.0-beta0
CXX-2474 Done 3.8.0
CSHARP-4106 Fixed 2.17.0
GODRIVER-2352 Done 1.10.0
JAVA-4540 Fixed 4.7.0
NODE-4110 Done
MOTOR-916 Duplicate
PYTHON-3179 Fixed 4.2
PHPLIB-820 Fixed 1.15.0
RUBY-2931 Fixed 2.18.0
RUST-1227 Duplicate
SWIFT-1529 Duplicate

 Description   

Background & Motivation
There is a goal in the scope of DRIVERS-1951 to "Extend the Unified Test Format to add a new ClientEncryption entity and new operations."

The new Key Management API in DRIVERS-1951 proposes new methods to the ClientEncryption object.

The current Client Side Encryption Spec Test Format does not support testing the ClientEncryption object.

Scope

  • Add new API to ClientEncryption in CSFLE specification.
  • Add ClientEncryption entity to Unified Test Format.
  • Add ClientEncryption entity operations for Key Management API:
    • createDataKey, rewrapDataKey, createKey, deleteKey, addKeyAlternateName, getKey, getKeys, getKeyByAltName, removeKeyAlternateName
  • Add tests for Key Managmenent API operations.
  • Bump minor version of Unified Test format for new additions. This is required.


 Comments   
Comment by Githook User [ 26/May/22 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: DRIVERS-2017 Add remaining Key Management API functions to spec and tests (#1229)

  • Add key management API to CSE spec
  • Add CSE prose test for keyAltNames unique index
  • Rename createKey-kms_providers to createKey for consistency
  • Merge keyMaterial tests into createKey
  • Add tests for keyAltNames in createKey
Comment by Githook User [ 18/May/22 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: DRIVERS-2017 Add spec and tests for rewrapManyDataKey and custom keyMaterial (#1213)

  • Relocate existing CSE tests into legacy subdirectory
  • Add test format wording for client side encryption
  • Add ClientEncryption.createKey() to Client Side Encryption spec
  • Add ClientEncryption.rewrapManyDataKey() to Client Side Encryption spec
  • Add DataKeyOpts.keyMaterial to Client Side Encryption spec
  • Add unified test files for ClientEncryption.createKey()
  • Add unified test files for ClientEncryption.rewrapManyDataKey()
  • Number prose tests in CSE spec
  • Add prose test for custom key material
Comment by Githook User [ 27/Apr/22 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: DRIVERS-2017 Add "runOnRequirement.csfle" to permit skipping CSFLE tests (#1196)

Comment by Githook User [ 26/Apr/22 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: DRIVERS-2017 Add clientEncryption entity to unified test format (#1188)

  • Add schema-1.8.json
  • Add schema definition for clientEncryption entity
  • Add unified test format tests for clientEncryption entity
  • Add unified test format spec wording for clientEncryption entity
Generated at Thu Feb 08 08:24:30 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.