Interface ClientEncryption
-
- All Superinterfaces:
AutoCloseable,Closeable
@Beta public interface ClientEncryption extends Closeable
The Key vault.Used to create data encryption keys, and to explicitly encrypt and decrypt values when auto-encryption is not an option.
Note: support for client-side encryption should be considered as beta. Backwards-breaking changes may be made before the final release.
- Since:
- 1.12
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()org.reactivestreams.Publisher<BsonBinary>createDataKey(String kmsProvider)Create a data key with the given KMS provider.org.reactivestreams.Publisher<BsonBinary>createDataKey(String kmsProvider, DataKeyOptions dataKeyOptions)Create a data key with the given KMS provider and options.org.reactivestreams.Publisher<BsonValue>decrypt(BsonBinary value)Decrypt the given value.org.reactivestreams.Publisher<BsonBinary>encrypt(BsonValue value, EncryptOptions options)Encrypt the given value with the given options.
-
-
-
Method Detail
-
createDataKey
org.reactivestreams.Publisher<BsonBinary> createDataKey(String kmsProvider)
Create a data key with the given KMS provider.Creates a new key document and inserts into the key vault collection.
- Parameters:
kmsProvider- the KMS provider- Returns:
- a Publisher containing the identifier for the created data key
-
createDataKey
org.reactivestreams.Publisher<BsonBinary> createDataKey(String kmsProvider, DataKeyOptions dataKeyOptions)
Create a data key with the given KMS provider and options.Creates a new key document and inserts into the key vault collection.
- Parameters:
kmsProvider- the KMS providerdataKeyOptions- the options for data key creation- Returns:
- a Publisher containing the identifier for the created data key
-
encrypt
org.reactivestreams.Publisher<BsonBinary> encrypt(BsonValue value, EncryptOptions options)
Encrypt the given value with the given options.The driver may throw an exception for prohibited BSON value types
- Parameters:
value- the value to encryptoptions- the options for data encryption- Returns:
- a Publisher containing the encrypted value, a BSON binary of subtype 6
-
decrypt
org.reactivestreams.Publisher<BsonValue> decrypt(BsonBinary value)
Decrypt the given value.- Parameters:
value- the value to decrypt, which must be of subtype 6- Returns:
- a Publisher containing the decrypted value
-
close
void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-