类:Mongo::Crypt:: KMS::KMIP::MasterKeyDocument Private

继承:
对象
  • 对象
显示全部
包括:
验证
定义于:
lib/ Mongo/crypt/ KMS/kmip/master_document.rb

Overview

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

KMIP KMS主密钥文档对象包含KMS主密钥参数。

常量摘要折叠

FORMAT_HINT =

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

' KMIP KMS密钥文档必须采用以下格式: ' +
"{ key_id: 'KEY-ID', endpoint: 'ENDPOINT', delegated: true|false }"

实例属性摘要折叠

实例方法摘要折叠

验证中包含的方法

#validate_param , validate_tls_options

构造函数详情

#initialize (opts = {}) ⇒ MasterKeyDocument

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

从参数哈希创建主密钥文档对象。

参数:

  • opts (哈希) (默认为: {} ) —

    包含 KMIP KMS提供商的主密钥选项的哈希值

选项哈希 ( opts ):

  • :key_id ( string | nil ) —

    96字节 KMIP 密钥数据托管对象的 KMIP 唯一标识符,可选。 如果省略 key_id,驱动程序将创建一个随机96字节标识符。

  • :endpoint ( string | nil ) —

    KMIP 端点,可选。

  • :delegated ( true | false | nil ) —

    如果为 true,KMIP 服务器将对数据密钥进行加密和解密,可选。默认值为 false。

引发:

  • ( ArgumentError ) —

    如果必需的选项丢失或格式不正确。



55
56
57
58
59
60
61
62
63
# File 'lib/ Mongo/crypt/ KMS/kmip/master_document.rb', line 55

def 初始化(opts = {})
  @key_id = validate_param(
    :key_id, opts, FORMAT_HINT, 必需: false
  )
  @endpoint = validate_param(
    :endpoint, opts, FORMAT_HINT, 必需: false
  )
  @委托 = validate_delegated(opts)
end

实例属性详细信息

#delegated ⇒ true | false | nil (只读)

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

返回 KMIP 服务器是否对数据密钥执行加密和解密。

返回:

  • ( true | false | nil ) —

    KMIP 服务器是否对数据密钥进行加密和解密。



36
37
38
# File 'lib/ Mongo/crypt/ KMS/kmip/master_document.rb', line 36

def 委托
  @委托
end

#端点⇒ string | nil (只读)

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

返回带有可选端口的 KMIP KMS端点。

返回:

  • ( string | nil ) —

    带有可选端口的 KMIP KMS端点。



32
33
34
# File 'lib/ Mongo/crypt/ KMS/kmip/master_document.rb', line 32

def 端点
  @endpoint
end

# key_id ⇒ string | nil (只读)

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

返回96字节 KMIP 密钥数据托管对象的 KMIP 唯一标识符。

返回:

  • ( string | nil ) —

    96字节 KMIP 密钥数据托管对象的 KMIP 唯一标识符。



29
30
31
# File 'lib/ Mongo/crypt/ KMS/kmip/master_document.rb', line 29

def key_id
  @key_id
end

实例方法详细信息

# to_document ⇒ BSON::Document

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

将主密钥文档对象转换为 libmongocrypt 格式的 BSON 文档。

返回:

  • ( BSON::Document ) —

    libmongocrypt 格式的 KMIP KMS 档案。



68
69
70
71
72
73
74
75
76
# File 'lib/ Mongo/crypt/ KMS/kmip/master_document.rb', line 68

def to_document
  BSON::文档.new({
                       提供商: ' kmip ',
                     }).点击 do |bson|
    bson.update({ 终结点: 端点 }) 除非 端点.nil?
    bson.update({ keyId: key_id }) 除非 key_id.nil?
    bson.update({ delegated: 委托 }) 除非 委托.nil?
  end
end