# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object

### Description

final public MongoDB\Driver\Manager::createClientEncryption ( array `$options` ) : MongoDB\Driver\ClientEncryption

Constructs a new MongoDB\Driver\ClientEncryption object with the specified options.

### Parameters

`options`

  options
  Option | Type | Description
  --- | --- | ---
  keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and cluster is used.
  keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption.
  kmsProviders | array | A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently aws or localare supported and at least one must be specified. The format for aws is as follows:
      aws: {
          accessKeyId: <string>,
          secretAccessKey: <string>
      }
  The format for local is as follows:
      local: {
          // The master key used to encrypt/decrypt data keys
          key: <96-byte MongoDB\BSON\Binary with subtype 0>
      }

### Return Values

Returns a new MongoDB\Driver\ClientEncryption instance.

### Errors/Exceptions

- Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
- Throws MongoDB\Driver\Exception\RuntimeException if the extension was compiled without libmongocrypt support

### See Also

- MongoDB\Driver\ClientEncryption
- » Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual