A classe MongoDB\Driver\ClientEncryption

(mongodb >=1.7.0)

Introdução

A classe MongoDB\Driver\ClientEncryption lida com a criação de chaves de dados para criptografia no lado do cliente e também com criptografia e descriptografia manuais de valores.

Resumo da classe

final class MongoDB\Driver\ClientEncryption {
/* Constantes */
const string AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic;
const string AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = AEAD_AES_256_CBC_HMAC_SHA_512-Random;
const string ALGORITHM_INDEXED = Indexed;
const string ALGORITHM_UNINDEXED = Unindexed;
const string ALGORITHM_RANGE = Range;
const string ALGORITHM_RANGE_PREVIEW = RangePreview;
const string QUERY_TYPE_EQUALITY = equality;
const string QUERY_TYPE_RANGE = range;
const string QUERY_TYPE_RANGE_PREVIEW = rangePreview;
/* Métodos */
final public addKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public __construct(array $options)
final public createDataKey(string $kmsProvider, ?array $options = null): MongoDB\BSON\Binary
final public decrypt(MongoDB\BSON\Binary $value): mixed
final public deleteKey(MongoDB\BSON\Binary $keyId): object
final public encrypt(mixed $value, ?array $options = null): MongoDB\BSON\Binary
final public encryptExpression(array|object $expr, ?array $options = null): object
final public getKey(MongoDB\BSON\Binary $keyId): ?object
final public getKeyByAltName(string $keyAltName): ?object
final public removeKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public rewrapManyDataKey(array|object $filter, ?array $options = null): object
}

Constantes pré-definidas

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC

Especifica um algoritmo para » criptografia determinística, que é adequado para consultas.

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM

Especifica um algoritmo para » criptografia aleatorizada

MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED

Especifica um algoritmo para uma carga criptografada e indexada, que pode ser usada com criptografia consultável.

Para inserir ou consultado com uma carga criptografada e indexada, a classe MongoDB\Driver\Manager precisa ser configurada com a opção "autoEncryption" do driver. A opção de autocriptografia "bypassQueryAnalysis" pode ser true. A opção de autocriptografia "bypassAutoEncryption" precisa ser false.

MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED

Especifica um algoritmo para uma carga criptografada e não indexada.

MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE

Especifica um algoritmo para uma carga criptografada por intervalo, que pode ser usada com criptgrafia consultável.

Para consultar com uma carga criptografada por intervalo, a classe MongoDB\Driver\Manager precisa ser configurada com a opção de driver "autoEncryption". A opção de criptografia automática "bypassQueryAnalysis" pode ser true. A opção de criptografia automática "bypassAutoEncryption" deve ser false.

Note:

A extensão ainda não oferece suporte a consultas de intervalo para tipos de campo Decimal128 BSON.

MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW

Esta constante está defasada e será removida em uma versão futura.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY

Especifica um tipo de consulta de igualdade, que é usada em conjunto com MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE

Especifica um tipo de consulta de intervalo, que é usada em conjunto com MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

Esta constante está defasada e será removida em uma versão futura.

Table of Contents