类:Mongo::Crypt::DataKeyContext Private

继承:
上下文
  • 对象
显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/crypt/data_key_context.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

专门为在密钥管理系统中创建数据密钥而初始化的 Context 对象。

实例属性摘要

Context继承的属性

#ctx_p

实例方法摘要折叠

Context继承的方法

#run_state_machine , #state

构造函数详情

#initialize (mongocrypt, io, master_key_document, key_alt_names, key_material) ⇒ DataKeyContext

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

创建新的 DataKeyContext对象

参数:

  • mongocrypt ( Mongo::Crypt::Handle )

    包装 mongocrypt_t 对象的句柄,用于创建新的 mongocrypt_ctx_t

  • io ( Mongo::Crypt::EncryptionIO )

    代表 libmongocrypt 执行所有驾驶员I/O 的对象

  • master_key_document ( Mongo::Crypt::KMS::MasterKeyDocument )

    包含主加密密钥参数的主密钥文档。

  • key_alt_names ( Array<String> | nil )

    一个可选的字符串数组,用于指定新数据键的备用名称。

  • :key_material ( string | nil )

    可选的96字节用作正在创建的数据密钥的自定义密钥材料。 如果给出 :key_material 选项,则使用自定义密钥材料加密和解密数据。



41
42
43
44
45
46
47
# File ' 构建/ruby-driver-v2.19/lib/ mongo /crypt/data_key_context.rb', 第41行

def 初始化(mongocrypt, io, master_key_document, key_alt_names, key_material)
  (mongocrypt, io)
  绑定.ctx_setopt_key_encryption_key(self, master_key_document.to_document)
  set_key_alt_names(key_alt_names) if key_alt_names
  绑定.ctx_setopt_key_material(self, BSON::二进制文件.new(key_material)) if key_material
  initialize_ctx
end