正在使用的加密包含两个功能:
安装
在C驱动程序中使用“正在使用的加密”需要依赖 libmongocrypt。有关 libmongocrypt 安装说明,请参阅《MongoDB手册》。
安装 libmongocrypt 后,使用 -DENABLE_CLIENT_SIDE_ENCRYPTION=ON配置 C 驱动程序,以要求启用“正在使用的加密”。
$ cd mongo-c-driver $ mkdir cmake-build && cd cmake-build $ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DENABLE_CLIENT_SIDE_ENCRYPTION=ON .. $ cmake --build . --target install 
API
mongoc_client_encryption_t 用于显式加密和密钥管理。mongoc_client_enable_auto_encryption 和 mongoc_client_pool_enable_auto_encryption 用于启用自动加密。
可查询Queryable Encryption和 CSFLE 功能股票大部分相同的API ,但有一些例外。
- mongoc_client_encryption_encrypt_opts_set_algorithm 中记录的支持算法不适应用这两种功能。 
- mongoc_auto_encryption_opts_set_encrypted_fields_map 仅适用于Queryable Encryption。 
- mongoc_auto_encryption_opts_set_schema_map 仅适用于 CSFLE。 
查询分析
要支持自动加密功能,需要以下依赖项之一:
- mongocryptd可执行文件。 请参阅MongoDB手册文档:安装和配置 mongocryptd
- crypt_shared库。 请参阅MongoDB手册文档:自动加密共享库
配置了自动加密的 mongoc_client_t 或 mongoc_client_pool_t 将自动尝试加载crypt_shared 库。如果加载 crypt_shared 库失败,mongoc_client_t 或 mongoc_client_pool_t 将尝试从应用程序的 PATH 生成 mongocryptd进程。要配置使用 crypt_shared 和 mongocryptd,请参阅 mongoc_auto_encryption_opts_set_extra。