Class: TencentCloud::Kms::V20190118::GenerateDataKeyRequest

Inherits:
Common::AbstractModel
  • Object
show all
Defined in:
lib/v20190118/models.rb

Overview

GenerateDataKey请求参数结构体

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(keyid = nil, keyspec = nil, numberofbytes = nil, encryptioncontext = nil, encryptionpublickey = nil, encryptionalgorithm = nil, ishostedbykms = nil, datakeyname = nil, description = nil, hsmclusterid = nil, tags = nil) ⇒ GenerateDataKeyRequest

Returns a new instance of GenerateDataKeyRequest.



1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
# File 'lib/v20190118/models.rb', line 1717

def initialize(keyid=nil, keyspec=nil, numberofbytes=nil, encryptioncontext=nil, encryptionpublickey=nil, encryptionalgorithm=nil, ishostedbykms=nil, datakeyname=nil, description=nil, hsmclusterid=nil, tags=nil)
  @KeyId = keyid
  @KeySpec = keyspec
  @NumberOfBytes = numberofbytes
  @EncryptionContext = encryptioncontext
  @EncryptionPublicKey = encryptionpublickey
  @EncryptionAlgorithm = encryptionalgorithm
  @IsHostedByKms = ishostedbykms
  @DataKeyName = datakeyname
  @Description = description
  @HsmClusterId = hsmclusterid
  @Tags = tags
end

Instance Attribute Details

#DataKeyNameObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def DataKeyName
  @DataKeyName
end

#DescriptionObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def Description
  @Description
end

#EncryptionAlgorithmObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def EncryptionAlgorithm
  @EncryptionAlgorithm
end

#EncryptionContextObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def EncryptionContext
  @EncryptionContext
end

#EncryptionPublicKeyObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def EncryptionPublicKey
  @EncryptionPublicKey
end

#HsmClusterIdObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def HsmClusterId
  @HsmClusterId
end

#IsHostedByKmsObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def IsHostedByKms
  @IsHostedByKms
end

#KeyIdObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def KeyId
  @KeyId
end

#KeySpecObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def KeySpec
  @KeySpec
end

#NumberOfBytesObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def NumberOfBytes
  @NumberOfBytes
end

#TagsObject

Parameters:

  • KeyId:

    CMK全局唯一标识符

  • KeySpec:

    指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个

  • NumberOfBytes:

    生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个

  • EncryptionContext:

    key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串

  • EncryptionPublicKey:

    PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。

  • EncryptionAlgorithm:

    非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。

  • IsHostedByKms:

    表示生成的数据密钥是否被KMS托管。1:表示被KMS托管保存,0:表示KMS不托管。

  • DataKeyName:

    数据密钥的名称,当IsHostedByKms为1时,必须填写。当IsHostedByKms为0时,可以不填,KMS不托管。

  • Description:

    数据密钥 的描述,最大100字节

  • HsmClusterId:

    KMS 独享版对应的 HSM 集群 ID。如果指定HsmClusterId,表明根密钥在此集群里,会校验KeyId是否和HsmClusterId对应。

  • Tags:

    标签列表,当参数IsHostedByKms=1,数据密钥托管到kms时有效.



1715
1716
1717
# File 'lib/v20190118/models.rb', line 1715

def Tags
  @Tags
end

Instance Method Details

#deserialize(params) ⇒ Object



1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
# File 'lib/v20190118/models.rb', line 1731

def deserialize(params)
  @KeyId = params['KeyId']
  @KeySpec = params['KeySpec']
  @NumberOfBytes = params['NumberOfBytes']
  @EncryptionContext = params['EncryptionContext']
  @EncryptionPublicKey = params['EncryptionPublicKey']
  @EncryptionAlgorithm = params['EncryptionAlgorithm']
  @IsHostedByKms = params['IsHostedByKms']
  @DataKeyName = params['DataKeyName']
  @Description = params['Description']
  @HsmClusterId = params['HsmClusterId']
  unless params['Tags'].nil?
    @Tags = []
    params['Tags'].each do |i|
      tag_tmp = Tag.new
      tag_tmp.deserialize(i)
      @Tags << tag_tmp
    end
  end
end