The MongoDB\Driver\ClientEncryption class
(mongodb >=1.7.0)
Introduction
The MongoDB\Driver\ClientEncryption class handles creation of data keys for client-side encryption, as well as manually encrypting and decrypting values.
Class synopsis
Predefined Constants
MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTICSpecifies an algorithm for » deterministic encryption, which is suitable for querying.
MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOMSpecifies an algorithm for » randomized encryption
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXEDSpecifies an algorithm for an indexed, encrypted payload, which can be used with queryable encryption.
To insert or query with an indexed, encrypted payload, the MongoDB\Driver\Manager must be configured with the
"autoEncryption"driver option. The"bypassQueryAnalysis"auto encryption option may betrue. The"bypassAutoEncryption"auto encryption option must befalse.MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXEDSpecifies an algorithm for an unindexed, encrypted payload.
MongoDB\Driver\ClientEncryption::ALGORITHM_RANGESpecifies an algorithm for a range encrypted payload, which can be used with queryable encryption.
To query with a range encrypted payload, the MongoDB\Driver\Manager must be configured with the
"autoEncryption"driver option. The"bypassQueryAnalysis"auto encryption option may betrue. The"bypassAutoEncryption"auto encryption option must befalse.Note:
The extension does not yet support range queries for Decimal128 BSON field types.
MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITYSpecifies an equality query type, which is used in conjunction with
MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED.MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGESpecifies a range query type, which is used in conjunction with
MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.
Changelog
| Version | Description |
|---|---|
| PECL mongodb 2.0.0 | Removed |
| PECL mongodb 1.20.0 | Added Deprecated |
| PECL mongodb 1.16.0 | Added MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW and MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW. |
| PECL mongodb 1.14.0 | Added MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED, and MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY. |
Table of Contents
- MongoDB\Driver\ClientEncryption::addKeyAltName — Adds an alternate name to a key document
- MongoDB\Driver\ClientEncryption::__construct — Create a new ClientEncryption object
- MongoDB\Driver\ClientEncryption::createDataKey — Creates a key document
- MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value
- MongoDB\Driver\ClientEncryption::deleteKey — Deletes a key document
- MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value
- MongoDB\Driver\ClientEncryption::encryptExpression — Encrypts a match or aggregate expression
- MongoDB\Driver\ClientEncryption::getKey — Gets a key document
- MongoDB\Driver\ClientEncryption::getKeyByAltName — Gets a key document by an alternate name
- MongoDB\Driver\ClientEncryption::getKeys — Gets all key documents
- MongoDB\Driver\ClientEncryption::removeKeyAltName — Removes an alternate name from a key document
- MongoDB\Driver\ClientEncryption::rewrapManyDataKey — Rewraps data keys