# -*- coding: utf8 -*-
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import warnings
from tencentcloud.common.abstract_model import AbstractModel
class AlgorithmInfo(AbstractModel):
"""算法的名称 和 标识
"""
def __init__(self):
r"""
:param _KeyUsage: 算法的标识
:type KeyUsage: str
:param _Algorithm: 算法的名称
:type Algorithm: str
"""
self._KeyUsage = None
self._Algorithm = None
@property
def KeyUsage(self):
"""算法的标识
:rtype: str
"""
return self._KeyUsage
@KeyUsage.setter
def KeyUsage(self, KeyUsage):
self._KeyUsage = KeyUsage
@property
def Algorithm(self):
"""算法的名称
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
def _deserialize(self, params):
self._KeyUsage = params.get("KeyUsage")
self._Algorithm = params.get("Algorithm")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ArchiveKeyRequest(AbstractModel):
"""ArchiveKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ArchiveKeyResponse(AbstractModel):
"""ArchiveKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class AsymmetricRsaDecryptRequest(AbstractModel):
"""AsymmetricRsaDecrypt请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识
:type KeyId: str
:param _Ciphertext: 使用PublicKey加密的密文,Base64编码
:type Ciphertext: str
:param _Algorithm: 在使用公钥加密时对应的算法:当前支持RSAES_PKCS1_V1_5、RSAES_OAEP_SHA_1、RSAES_OAEP_SHA_256
:type Algorithm: str
"""
self._KeyId = None
self._Ciphertext = None
self._Algorithm = None
@property
def KeyId(self):
"""CMK的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Ciphertext(self):
"""使用PublicKey加密的密文,Base64编码
:rtype: str
"""
return self._Ciphertext
@Ciphertext.setter
def Ciphertext(self, Ciphertext):
self._Ciphertext = Ciphertext
@property
def Algorithm(self):
"""在使用公钥加密时对应的算法:当前支持RSAES_PKCS1_V1_5、RSAES_OAEP_SHA_1、RSAES_OAEP_SHA_256
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Ciphertext = params.get("Ciphertext")
self._Algorithm = params.get("Algorithm")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AsymmetricRsaDecryptResponse(AbstractModel):
"""AsymmetricRsaDecrypt返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识
:type KeyId: str
:param _Plaintext: 解密后的明文,base64编码
:type Plaintext: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._Plaintext = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Plaintext(self):
"""解密后的明文,base64编码
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Plaintext = params.get("Plaintext")
self._RequestId = params.get("RequestId")
class AsymmetricSm2DecryptRequest(AbstractModel):
"""AsymmetricSm2Decrypt请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识
:type KeyId: str
:param _Ciphertext: 使用PublicKey加密的密文,Base64编码,原始密文格式需要为C1C3C2_ASN1。原始密文长度不能超过256字节。
:type Ciphertext: str
"""
self._KeyId = None
self._Ciphertext = None
@property
def KeyId(self):
"""CMK的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Ciphertext(self):
"""使用PublicKey加密的密文,Base64编码,原始密文格式需要为C1C3C2_ASN1。原始密文长度不能超过256字节。
:rtype: str
"""
return self._Ciphertext
@Ciphertext.setter
def Ciphertext(self, Ciphertext):
self._Ciphertext = Ciphertext
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Ciphertext = params.get("Ciphertext")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AsymmetricSm2DecryptResponse(AbstractModel):
"""AsymmetricSm2Decrypt返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识
:type KeyId: str
:param _Plaintext: 解密后的明文,base64编码
:type Plaintext: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._Plaintext = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Plaintext(self):
"""解密后的明文,base64编码
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Plaintext = params.get("Plaintext")
self._RequestId = params.get("RequestId")
class BindCloudResourceRequest(AbstractModel):
"""BindCloudResource请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: cmk的ID
:type KeyId: str
:param _ProductId: 云产品的唯一性标识符
:type ProductId: str
:param _ResourceId: 资源/实例ID,由调用方根据自己的云产品特征来定义,以字符串形式做存储。
:type ResourceId: str
"""
self._KeyId = None
self._ProductId = None
self._ResourceId = None
@property
def KeyId(self):
"""cmk的ID
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def ProductId(self):
"""云产品的唯一性标识符
:rtype: str
"""
return self._ProductId
@ProductId.setter
def ProductId(self, ProductId):
self._ProductId = ProductId
@property
def ResourceId(self):
"""资源/实例ID,由调用方根据自己的云产品特征来定义,以字符串形式做存储。
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._ProductId = params.get("ProductId")
self._ResourceId = params.get("ResourceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BindCloudResourceResponse(AbstractModel):
"""BindCloudResource返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CancelKeyArchiveRequest(AbstractModel):
"""CancelKeyArchive请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CancelKeyArchiveResponse(AbstractModel):
"""CancelKeyArchive返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CancelKeyDeletionRequest(AbstractModel):
"""CancelKeyDeletion请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 需要被取消删除的CMK的唯一标志
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""需要被取消删除的CMK的唯一标志
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CancelKeyDeletionResponse(AbstractModel):
"""CancelKeyDeletion返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 唯一标志被取消删除的CMK。
:type KeyId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._RequestId = None
@property
def KeyId(self):
"""唯一标志被取消删除的CMK。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._RequestId = params.get("RequestId")
class CreateKeyRequest(AbstractModel):
"""CreateKey请求参数结构体
"""
def __init__(self):
r"""
:param _Alias: 作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字。以 kms- 作为前缀的用于云产品使用,Alias 不可重复。
:type Alias: str
:param _Description: CMK 的描述,最大1024字节
:type Description: str
:param _KeyUsage: 指定key的用途,默认为 "ENCRYPT_DECRYPT" 表示创建对称加解密密钥,其它支持用途 “ASYMMETRIC_DECRYPT_RSA_2048” 表示创建用于加解密的RSA2048非对称密钥,“ASYMMETRIC_DECRYPT_SM2” 表示创建用于加解密的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_SM2” 表示创建用于签名验签的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECC” 表示创建用于签名验签的ECC非对称密钥,“ASYMMETRIC_SIGN_VERIFY_RSA_2048” 表示创建用于签名验签的RSA_2048非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECDSA384”表示创建用于签名验签的 ECDSA384 非对称秘钥。完整的秘钥用途与算法支持列表可通过 ListAlgorithms 接口获取。
:type KeyUsage: str
:param _Type: 指定key类型,默认为1,1表示默认类型,由KMS创建CMK密钥,2 表示EXTERNAL 类型,该类型需要用户导入密钥材料,参考 GetParametersForImport 和 ImportKeyMaterial 接口
:type Type: int
:param _Tags: 标签列表
:type Tags: list of Tag
:param _HsmClusterId: KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:type HsmClusterId: str
"""
self._Alias = None
self._Description = None
self._KeyUsage = None
self._Type = None
self._Tags = None
self._HsmClusterId = None
@property
def Alias(self):
"""作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字。以 kms- 作为前缀的用于云产品使用,Alias 不可重复。
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def Description(self):
"""CMK 的描述,最大1024字节
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def KeyUsage(self):
"""指定key的用途,默认为 "ENCRYPT_DECRYPT" 表示创建对称加解密密钥,其它支持用途 “ASYMMETRIC_DECRYPT_RSA_2048” 表示创建用于加解密的RSA2048非对称密钥,“ASYMMETRIC_DECRYPT_SM2” 表示创建用于加解密的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_SM2” 表示创建用于签名验签的SM2非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECC” 表示创建用于签名验签的ECC非对称密钥,“ASYMMETRIC_SIGN_VERIFY_RSA_2048” 表示创建用于签名验签的RSA_2048非对称密钥,“ASYMMETRIC_SIGN_VERIFY_ECDSA384”表示创建用于签名验签的 ECDSA384 非对称秘钥。完整的秘钥用途与算法支持列表可通过 ListAlgorithms 接口获取。
:rtype: str
"""
return self._KeyUsage
@KeyUsage.setter
def KeyUsage(self, KeyUsage):
self._KeyUsage = KeyUsage
@property
def Type(self):
"""指定key类型,默认为1,1表示默认类型,由KMS创建CMK密钥,2 表示EXTERNAL 类型,该类型需要用户导入密钥材料,参考 GetParametersForImport 和 ImportKeyMaterial 接口
:rtype: int
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Tags(self):
"""标签列表
:rtype: list of Tag
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def HsmClusterId(self):
"""KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:rtype: str
"""
return self._HsmClusterId
@HsmClusterId.setter
def HsmClusterId(self, HsmClusterId):
self._HsmClusterId = HsmClusterId
def _deserialize(self, params):
self._Alias = params.get("Alias")
self._Description = params.get("Description")
self._KeyUsage = params.get("KeyUsage")
self._Type = params.get("Type")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = Tag()
obj._deserialize(item)
self._Tags.append(obj)
self._HsmClusterId = params.get("HsmClusterId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateKeyResponse(AbstractModel):
"""CreateKey返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识符
:type KeyId: str
:param _Alias: 作为密钥更容易辨识,更容易被人看懂的别名
:type Alias: str
:param _CreateTime: 密钥创建时间,unix时间戳
:type CreateTime: int
:param _Description: CMK的描述
:type Description: str
:param _KeyState: CMK的状态
:type KeyState: str
:param _KeyUsage: CMK的用途
:type KeyUsage: str
:param _TagCode: 标签操作的返回码. 0: 成功;1: 内部错误;2: 业务处理错误
:type TagCode: int
:param _TagMsg: 标签操作的返回信息
:type TagMsg: str
:param _HsmClusterId: HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
:type HsmClusterId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._Alias = None
self._CreateTime = None
self._Description = None
self._KeyState = None
self._KeyUsage = None
self._TagCode = None
self._TagMsg = None
self._HsmClusterId = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Alias(self):
"""作为密钥更容易辨识,更容易被人看懂的别名
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def CreateTime(self):
"""密钥创建时间,unix时间戳
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Description(self):
"""CMK的描述
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def KeyState(self):
"""CMK的状态
:rtype: str
"""
return self._KeyState
@KeyState.setter
def KeyState(self, KeyState):
self._KeyState = KeyState
@property
def KeyUsage(self):
"""CMK的用途
:rtype: str
"""
return self._KeyUsage
@KeyUsage.setter
def KeyUsage(self, KeyUsage):
self._KeyUsage = KeyUsage
@property
def TagCode(self):
"""标签操作的返回码. 0: 成功;1: 内部错误;2: 业务处理错误
:rtype: int
"""
return self._TagCode
@TagCode.setter
def TagCode(self, TagCode):
self._TagCode = TagCode
@property
def TagMsg(self):
"""标签操作的返回信息
:rtype: str
"""
return self._TagMsg
@TagMsg.setter
def TagMsg(self, TagMsg):
self._TagMsg = TagMsg
@property
def HsmClusterId(self):
"""HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
:rtype: str
"""
return self._HsmClusterId
@HsmClusterId.setter
def HsmClusterId(self, HsmClusterId):
self._HsmClusterId = HsmClusterId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Alias = params.get("Alias")
self._CreateTime = params.get("CreateTime")
self._Description = params.get("Description")
self._KeyState = params.get("KeyState")
self._KeyUsage = params.get("KeyUsage")
self._TagCode = params.get("TagCode")
self._TagMsg = params.get("TagMsg")
self._HsmClusterId = params.get("HsmClusterId")
self._RequestId = params.get("RequestId")
class CreateWhiteBoxKeyRequest(AbstractModel):
"""CreateWhiteBoxKey请求参数结构体
"""
def __init__(self):
r"""
:param _Alias: 作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字。Alias不可重复。
:type Alias: str
:param _Algorithm: 创建密钥所有的算法类型,支持的取值:AES_256,SM4
:type Algorithm: str
:param _Description: 密钥的描述,最大1024字节
:type Description: str
:param _Tags: 标签列表
:type Tags: list of Tag
"""
self._Alias = None
self._Algorithm = None
self._Description = None
self._Tags = None
@property
def Alias(self):
"""作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字。Alias不可重复。
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def Algorithm(self):
"""创建密钥所有的算法类型,支持的取值:AES_256,SM4
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
@property
def Description(self):
"""密钥的描述,最大1024字节
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def Tags(self):
"""标签列表
:rtype: list of Tag
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
def _deserialize(self, params):
self._Alias = params.get("Alias")
self._Algorithm = params.get("Algorithm")
self._Description = params.get("Description")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = Tag()
obj._deserialize(item)
self._Tags.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateWhiteBoxKeyResponse(AbstractModel):
"""CreateWhiteBoxKey返回参数结构体
"""
def __init__(self):
r"""
:param _EncryptKey: 用于加密的密钥,base64编码
:type EncryptKey: str
:param _DecryptKey: 用于解密的密钥,base64编码
:type DecryptKey: str
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
:param _TagCode: 标签操作的返回码. 0: 成功;1: 内部错误;2: 业务处理错误
:type TagCode: int
:param _TagMsg: 标签操作的返回信息
:type TagMsg: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._EncryptKey = None
self._DecryptKey = None
self._KeyId = None
self._TagCode = None
self._TagMsg = None
self._RequestId = None
@property
def EncryptKey(self):
"""用于加密的密钥,base64编码
:rtype: str
"""
return self._EncryptKey
@EncryptKey.setter
def EncryptKey(self, EncryptKey):
self._EncryptKey = EncryptKey
@property
def DecryptKey(self):
"""用于解密的密钥,base64编码
:rtype: str
"""
return self._DecryptKey
@DecryptKey.setter
def DecryptKey(self, DecryptKey):
self._DecryptKey = DecryptKey
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def TagCode(self):
"""标签操作的返回码. 0: 成功;1: 内部错误;2: 业务处理错误
:rtype: int
"""
return self._TagCode
@TagCode.setter
def TagCode(self, TagCode):
self._TagCode = TagCode
@property
def TagMsg(self):
"""标签操作的返回信息
:rtype: str
"""
return self._TagMsg
@TagMsg.setter
def TagMsg(self, TagMsg):
self._TagMsg = TagMsg
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._EncryptKey = params.get("EncryptKey")
self._DecryptKey = params.get("DecryptKey")
self._KeyId = params.get("KeyId")
self._TagCode = params.get("TagCode")
self._TagMsg = params.get("TagMsg")
self._RequestId = params.get("RequestId")
class DecryptRequest(AbstractModel):
"""Decrypt请求参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 待解密的密文数据
:type CiphertextBlob: str
:param _EncryptionContext: key/value对的json字符串,如果Encrypt指定了该参数,则在调用Decrypt API时需要提供同样的参数,最大支持1024字符
:type EncryptionContext: str
:param _EncryptionPublicKey: PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:type EncryptionPublicKey: str
:param _EncryptionAlgorithm: 非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:type EncryptionAlgorithm: str
"""
self._CiphertextBlob = None
self._EncryptionContext = None
self._EncryptionPublicKey = None
self._EncryptionAlgorithm = None
@property
def CiphertextBlob(self):
"""待解密的密文数据
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def EncryptionContext(self):
"""key/value对的json字符串,如果Encrypt指定了该参数,则在调用Decrypt API时需要提供同样的参数,最大支持1024字符
:rtype: str
"""
return self._EncryptionContext
@EncryptionContext.setter
def EncryptionContext(self, EncryptionContext):
self._EncryptionContext = EncryptionContext
@property
def EncryptionPublicKey(self):
"""PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:rtype: str
"""
return self._EncryptionPublicKey
@EncryptionPublicKey.setter
def EncryptionPublicKey(self, EncryptionPublicKey):
self._EncryptionPublicKey = EncryptionPublicKey
@property
def EncryptionAlgorithm(self):
"""非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:rtype: str
"""
return self._EncryptionAlgorithm
@EncryptionAlgorithm.setter
def EncryptionAlgorithm(self, EncryptionAlgorithm):
self._EncryptionAlgorithm = EncryptionAlgorithm
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._EncryptionContext = params.get("EncryptionContext")
self._EncryptionPublicKey = params.get("EncryptionPublicKey")
self._EncryptionAlgorithm = params.get("EncryptionAlgorithm")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DecryptResponse(AbstractModel):
"""Decrypt返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识
:type KeyId: str
:param _Plaintext: 若调用时未提供 EncryptionPublicKey,该字段值为 Base64 编码的明文,需进行 Base64 解码以获取明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取明文。
:type Plaintext: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._Plaintext = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Plaintext(self):
"""若调用时未提供 EncryptionPublicKey,该字段值为 Base64 编码的明文,需进行 Base64 解码以获取明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取明文。
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Plaintext = params.get("Plaintext")
self._RequestId = params.get("RequestId")
class DeleteImportedKeyMaterialRequest(AbstractModel):
"""DeleteImportedKeyMaterial请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 指定需要删除密钥材料的EXTERNAL CMK。
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""指定需要删除密钥材料的EXTERNAL CMK。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteImportedKeyMaterialResponse(AbstractModel):
"""DeleteImportedKeyMaterial返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteWhiteBoxKeyRequest(AbstractModel):
"""DeleteWhiteBoxKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteWhiteBoxKeyResponse(AbstractModel):
"""DeleteWhiteBoxKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DescribeKeyRequest(AbstractModel):
"""DescribeKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeKeyResponse(AbstractModel):
"""DescribeKey返回参数结构体
"""
def __init__(self):
r"""
:param _KeyMetadata: 密钥属性信息
:type KeyMetadata: :class:`tencentcloud.kms.v20190118.models.KeyMetadata`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyMetadata = None
self._RequestId = None
@property
def KeyMetadata(self):
"""密钥属性信息
:rtype: :class:`tencentcloud.kms.v20190118.models.KeyMetadata`
"""
return self._KeyMetadata
@KeyMetadata.setter
def KeyMetadata(self, KeyMetadata):
self._KeyMetadata = KeyMetadata
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("KeyMetadata") is not None:
self._KeyMetadata = KeyMetadata()
self._KeyMetadata._deserialize(params.get("KeyMetadata"))
self._RequestId = params.get("RequestId")
class DescribeKeysRequest(AbstractModel):
"""DescribeKeys请求参数结构体
"""
def __init__(self):
r"""
:param _KeyIds: 查询CMK的ID列表,批量查询一次最多支持100个KeyId
:type KeyIds: list of str
"""
self._KeyIds = None
@property
def KeyIds(self):
"""查询CMK的ID列表,批量查询一次最多支持100个KeyId
:rtype: list of str
"""
return self._KeyIds
@KeyIds.setter
def KeyIds(self, KeyIds):
self._KeyIds = KeyIds
def _deserialize(self, params):
self._KeyIds = params.get("KeyIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeKeysResponse(AbstractModel):
"""DescribeKeys返回参数结构体
"""
def __init__(self):
r"""
:param _KeyMetadatas: 返回的属性信息列表
:type KeyMetadatas: list of KeyMetadata
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyMetadatas = None
self._RequestId = None
@property
def KeyMetadatas(self):
"""返回的属性信息列表
:rtype: list of KeyMetadata
"""
return self._KeyMetadatas
@KeyMetadatas.setter
def KeyMetadatas(self, KeyMetadatas):
self._KeyMetadatas = KeyMetadatas
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("KeyMetadatas") is not None:
self._KeyMetadatas = []
for item in params.get("KeyMetadatas"):
obj = KeyMetadata()
obj._deserialize(item)
self._KeyMetadatas.append(obj)
self._RequestId = params.get("RequestId")
class DescribeWhiteBoxDecryptKeyRequest(AbstractModel):
"""DescribeWhiteBoxDecryptKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWhiteBoxDecryptKeyResponse(AbstractModel):
"""DescribeWhiteBoxDecryptKey返回参数结构体
"""
def __init__(self):
r"""
:param _DecryptKey: 白盒解密密钥,base64编码
:type DecryptKey: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DecryptKey = None
self._RequestId = None
@property
def DecryptKey(self):
"""白盒解密密钥,base64编码
:rtype: str
"""
return self._DecryptKey
@DecryptKey.setter
def DecryptKey(self, DecryptKey):
self._DecryptKey = DecryptKey
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._DecryptKey = params.get("DecryptKey")
self._RequestId = params.get("RequestId")
class DescribeWhiteBoxDeviceFingerprintsRequest(AbstractModel):
"""DescribeWhiteBoxDeviceFingerprints请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥ID
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥ID
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWhiteBoxDeviceFingerprintsResponse(AbstractModel):
"""DescribeWhiteBoxDeviceFingerprints返回参数结构体
"""
def __init__(self):
r"""
:param _DeviceFingerprints: 设备指纹列表
:type DeviceFingerprints: list of DeviceFingerprint
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DeviceFingerprints = None
self._RequestId = None
@property
def DeviceFingerprints(self):
"""设备指纹列表
:rtype: list of DeviceFingerprint
"""
return self._DeviceFingerprints
@DeviceFingerprints.setter
def DeviceFingerprints(self, DeviceFingerprints):
self._DeviceFingerprints = DeviceFingerprints
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("DeviceFingerprints") is not None:
self._DeviceFingerprints = []
for item in params.get("DeviceFingerprints"):
obj = DeviceFingerprint()
obj._deserialize(item)
self._DeviceFingerprints.append(obj)
self._RequestId = params.get("RequestId")
class DescribeWhiteBoxKeyDetailsRequest(AbstractModel):
"""DescribeWhiteBoxKeyDetails请求参数结构体
"""
def __init__(self):
r"""
:param _KeyStatus: 过滤条件:密钥的状态,0:disabled,1:enabled
:type KeyStatus: int
:param _Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:type Offset: int
:param _Limit: 含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为0, 表示不分页
:type Limit: int
:param _TagFilters: 标签过滤条件
:type TagFilters: list of TagFilter
"""
self._KeyStatus = None
self._Offset = None
self._Limit = None
self._TagFilters = None
@property
def KeyStatus(self):
"""过滤条件:密钥的状态,0:disabled,1:enabled
:rtype: int
"""
return self._KeyStatus
@KeyStatus.setter
def KeyStatus(self, KeyStatus):
self._KeyStatus = KeyStatus
@property
def Offset(self):
"""含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为0, 表示不分页
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def TagFilters(self):
"""标签过滤条件
:rtype: list of TagFilter
"""
return self._TagFilters
@TagFilters.setter
def TagFilters(self, TagFilters):
self._TagFilters = TagFilters
def _deserialize(self, params):
self._KeyStatus = params.get("KeyStatus")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("TagFilters") is not None:
self._TagFilters = []
for item in params.get("TagFilters"):
obj = TagFilter()
obj._deserialize(item)
self._TagFilters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWhiteBoxKeyDetailsResponse(AbstractModel):
"""DescribeWhiteBoxKeyDetails返回参数结构体
"""
def __init__(self):
r"""
:param _KeyInfos: 白盒密钥信息列表。
:type KeyInfos: list of WhiteboxKeyInfo
:param _TotalCount: 白盒密钥总数。
:type TotalCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyInfos = None
self._TotalCount = None
self._RequestId = None
@property
def KeyInfos(self):
"""白盒密钥信息列表。
:rtype: list of WhiteboxKeyInfo
"""
return self._KeyInfos
@KeyInfos.setter
def KeyInfos(self, KeyInfos):
self._KeyInfos = KeyInfos
@property
def TotalCount(self):
"""白盒密钥总数。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("KeyInfos") is not None:
self._KeyInfos = []
for item in params.get("KeyInfos"):
obj = WhiteboxKeyInfo()
obj._deserialize(item)
self._KeyInfos.append(obj)
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class DescribeWhiteBoxKeyRequest(AbstractModel):
"""DescribeWhiteBoxKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWhiteBoxKeyResponse(AbstractModel):
"""DescribeWhiteBoxKey返回参数结构体
"""
def __init__(self):
r"""
:param _KeyInfo: 白盒密钥信息
:type KeyInfo: :class:`tencentcloud.kms.v20190118.models.WhiteboxKeyInfo`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyInfo = None
self._RequestId = None
@property
def KeyInfo(self):
"""白盒密钥信息
:rtype: :class:`tencentcloud.kms.v20190118.models.WhiteboxKeyInfo`
"""
return self._KeyInfo
@KeyInfo.setter
def KeyInfo(self, KeyInfo):
self._KeyInfo = KeyInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("KeyInfo") is not None:
self._KeyInfo = WhiteboxKeyInfo()
self._KeyInfo._deserialize(params.get("KeyInfo"))
self._RequestId = params.get("RequestId")
class DescribeWhiteBoxServiceStatusRequest(AbstractModel):
"""DescribeWhiteBoxServiceStatus请求参数结构体
"""
class DescribeWhiteBoxServiceStatusResponse(AbstractModel):
"""DescribeWhiteBoxServiceStatus返回参数结构体
"""
def __init__(self):
r"""
:param _ServiceEnabled: 用户的白盒密钥服务是否可用
:type ServiceEnabled: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ServiceEnabled = None
self._RequestId = None
@property
def ServiceEnabled(self):
"""用户的白盒密钥服务是否可用
:rtype: bool
"""
return self._ServiceEnabled
@ServiceEnabled.setter
def ServiceEnabled(self, ServiceEnabled):
self._ServiceEnabled = ServiceEnabled
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._ServiceEnabled = params.get("ServiceEnabled")
self._RequestId = params.get("RequestId")
class DeviceFingerprint(AbstractModel):
"""设备指纹
"""
def __init__(self):
r"""
:param _Identity: 指纹信息,由设备指纹采集工具采集获得,格式满足正则表达式:^[0-9a-f]{8}[\-][0-9a-f]{14}[\-][0-9a-f]{14}[\-][0-9a-f]{14}[\-][0-9a-f]{16}$
:type Identity: str
:param _Description: 描述信息,如:IP,设备名称等,最大1024字节
:type Description: str
"""
self._Identity = None
self._Description = None
@property
def Identity(self):
"""指纹信息,由设备指纹采集工具采集获得,格式满足正则表达式:^[0-9a-f]{8}[\-][0-9a-f]{14}[\-][0-9a-f]{14}[\-][0-9a-f]{14}[\-][0-9a-f]{16}$
:rtype: str
"""
return self._Identity
@Identity.setter
def Identity(self, Identity):
self._Identity = Identity
@property
def Description(self):
"""描述信息,如:IP,设备名称等,最大1024字节
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
def _deserialize(self, params):
self._Identity = params.get("Identity")
self._Description = params.get("Description")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableKeyRequest(AbstractModel):
"""DisableKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableKeyResponse(AbstractModel):
"""DisableKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DisableKeyRotationRequest(AbstractModel):
"""DisableKeyRotation请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableKeyRotationResponse(AbstractModel):
"""DisableKeyRotation返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DisableKeysRequest(AbstractModel):
"""DisableKeys请求参数结构体
"""
def __init__(self):
r"""
:param _KeyIds: 需要批量禁用的CMK Id 列表,CMK数量最大支持100
:type KeyIds: list of str
"""
self._KeyIds = None
@property
def KeyIds(self):
"""需要批量禁用的CMK Id 列表,CMK数量最大支持100
:rtype: list of str
"""
return self._KeyIds
@KeyIds.setter
def KeyIds(self, KeyIds):
self._KeyIds = KeyIds
def _deserialize(self, params):
self._KeyIds = params.get("KeyIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableKeysResponse(AbstractModel):
"""DisableKeys返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DisableWhiteBoxKeyRequest(AbstractModel):
"""DisableWhiteBoxKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableWhiteBoxKeyResponse(AbstractModel):
"""DisableWhiteBoxKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DisableWhiteBoxKeysRequest(AbstractModel):
"""DisableWhiteBoxKeys请求参数结构体
"""
def __init__(self):
r"""
:param _KeyIds: 白盒密钥的全局唯一标识符列表。注意:要确保所有提供的KeyId是格式有效的,没有重复,个数不超过50个,并且都是有效存在的。
:type KeyIds: list of str
"""
self._KeyIds = None
@property
def KeyIds(self):
"""白盒密钥的全局唯一标识符列表。注意:要确保所有提供的KeyId是格式有效的,没有重复,个数不超过50个,并且都是有效存在的。
:rtype: list of str
"""
return self._KeyIds
@KeyIds.setter
def KeyIds(self, KeyIds):
self._KeyIds = KeyIds
def _deserialize(self, params):
self._KeyIds = params.get("KeyIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DisableWhiteBoxKeysResponse(AbstractModel):
"""DisableWhiteBoxKeys返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EnableKeyRequest(AbstractModel):
"""EnableKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EnableKeyResponse(AbstractModel):
"""EnableKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EnableKeyRotationRequest(AbstractModel):
"""EnableKeyRotation请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
:param _RotateDays: 密钥轮转周期,单位天,允许范围 7 ~ 365,默认值 365。
:type RotateDays: int
"""
self._KeyId = None
self._RotateDays = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def RotateDays(self):
"""密钥轮转周期,单位天,允许范围 7 ~ 365,默认值 365。
:rtype: int
"""
return self._RotateDays
@RotateDays.setter
def RotateDays(self, RotateDays):
self._RotateDays = RotateDays
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._RotateDays = params.get("RotateDays")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EnableKeyRotationResponse(AbstractModel):
"""EnableKeyRotation返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EnableKeysRequest(AbstractModel):
"""EnableKeys请求参数结构体
"""
def __init__(self):
r"""
:param _KeyIds: 需要批量启用的CMK Id 列表, CMK数量最大支持100
:type KeyIds: list of str
"""
self._KeyIds = None
@property
def KeyIds(self):
"""需要批量启用的CMK Id 列表, CMK数量最大支持100
:rtype: list of str
"""
return self._KeyIds
@KeyIds.setter
def KeyIds(self, KeyIds):
self._KeyIds = KeyIds
def _deserialize(self, params):
self._KeyIds = params.get("KeyIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EnableKeysResponse(AbstractModel):
"""EnableKeys返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EnableWhiteBoxKeyRequest(AbstractModel):
"""EnableWhiteBoxKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EnableWhiteBoxKeyResponse(AbstractModel):
"""EnableWhiteBoxKey返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EnableWhiteBoxKeysRequest(AbstractModel):
"""EnableWhiteBoxKeys请求参数结构体
"""
def __init__(self):
r"""
:param _KeyIds: 白盒密钥的全局唯一标识符列表。注意:要确保所有提供的KeyId是格式有效的,没有重复,个数不超过50个,并且都是有效存在的。
:type KeyIds: list of str
"""
self._KeyIds = None
@property
def KeyIds(self):
"""白盒密钥的全局唯一标识符列表。注意:要确保所有提供的KeyId是格式有效的,没有重复,个数不超过50个,并且都是有效存在的。
:rtype: list of str
"""
return self._KeyIds
@KeyIds.setter
def KeyIds(self, KeyIds):
self._KeyIds = KeyIds
def _deserialize(self, params):
self._KeyIds = params.get("KeyIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EnableWhiteBoxKeysResponse(AbstractModel):
"""EnableWhiteBoxKeys返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class EncryptByWhiteBoxRequest(AbstractModel):
"""EncryptByWhiteBox请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
:param _PlainText: 待加密的文本, base64编码,文本的原始长度最大不超过4KB
:type PlainText: str
:param _InitializationVector: 初始化向量,大小为 16 Bytes,加密算法会使用到, base64编码;如果不传,则由后端服务随机生成。用户需要自行保存该值,作为解密的参数。
:type InitializationVector: str
"""
self._KeyId = None
self._PlainText = None
self._InitializationVector = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def PlainText(self):
"""待加密的文本, base64编码,文本的原始长度最大不超过4KB
:rtype: str
"""
return self._PlainText
@PlainText.setter
def PlainText(self, PlainText):
self._PlainText = PlainText
@property
def InitializationVector(self):
"""初始化向量,大小为 16 Bytes,加密算法会使用到, base64编码;如果不传,则由后端服务随机生成。用户需要自行保存该值,作为解密的参数。
:rtype: str
"""
return self._InitializationVector
@InitializationVector.setter
def InitializationVector(self, InitializationVector):
self._InitializationVector = InitializationVector
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._PlainText = params.get("PlainText")
self._InitializationVector = params.get("InitializationVector")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EncryptByWhiteBoxResponse(AbstractModel):
"""EncryptByWhiteBox返回参数结构体
"""
def __init__(self):
r"""
:param _InitializationVector: 初始化向量,加密算法会使用到, base64编码。如果由调用方在入参中传入,则原样返回。如果调用方没有传入,则后端服务随机生成,并返回
:type InitializationVector: str
:param _CipherText: 加密后的密文,base64编码
:type CipherText: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._InitializationVector = None
self._CipherText = None
self._RequestId = None
@property
def InitializationVector(self):
"""初始化向量,加密算法会使用到, base64编码。如果由调用方在入参中传入,则原样返回。如果调用方没有传入,则后端服务随机生成,并返回
:rtype: str
"""
return self._InitializationVector
@InitializationVector.setter
def InitializationVector(self, InitializationVector):
self._InitializationVector = InitializationVector
@property
def CipherText(self):
"""加密后的密文,base64编码
:rtype: str
"""
return self._CipherText
@CipherText.setter
def CipherText(self, CipherText):
self._CipherText = CipherText
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._InitializationVector = params.get("InitializationVector")
self._CipherText = params.get("CipherText")
self._RequestId = params.get("RequestId")
class EncryptRequest(AbstractModel):
"""Encrypt请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 调用CreateKey生成的CMK全局唯一标识符
:type KeyId: str
:param _Plaintext: 被加密的明文数据,该字段必须使用base64编码,原文最大长度支持4K
:type Plaintext: str
:param _EncryptionContext: key/value对的json字符串,如果指定了该参数,则在调用Decrypt API时需要提供同样的参数,最大支持1024个字符
:type EncryptionContext: str
"""
self._KeyId = None
self._Plaintext = None
self._EncryptionContext = None
@property
def KeyId(self):
"""调用CreateKey生成的CMK全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Plaintext(self):
"""被加密的明文数据,该字段必须使用base64编码,原文最大长度支持4K
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def EncryptionContext(self):
"""key/value对的json字符串,如果指定了该参数,则在调用Decrypt API时需要提供同样的参数,最大支持1024个字符
:rtype: str
"""
return self._EncryptionContext
@EncryptionContext.setter
def EncryptionContext(self, EncryptionContext):
self._EncryptionContext = EncryptionContext
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Plaintext = params.get("Plaintext")
self._EncryptionContext = params.get("EncryptionContext")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EncryptResponse(AbstractModel):
"""Encrypt返回参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 加密后的密文,base64编码。注意:本字段中打包了密文和密钥的相关信息,不是对明文的直接加密结果,只有将该字段作为Decrypt接口的输入参数,才可以解密出原文。
:type CiphertextBlob: str
:param _KeyId: 加密使用的CMK的全局唯一标识
:type KeyId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CiphertextBlob = None
self._KeyId = None
self._RequestId = None
@property
def CiphertextBlob(self):
"""加密后的密文,base64编码。注意:本字段中打包了密文和密钥的相关信息,不是对明文的直接加密结果,只有将该字段作为Decrypt接口的输入参数,才可以解密出原文。
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def KeyId(self):
"""加密使用的CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._KeyId = params.get("KeyId")
self._RequestId = params.get("RequestId")
class GenerateDataKeyRequest(AbstractModel):
"""GenerateDataKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK全局唯一标识符
:type KeyId: str
:param _KeySpec: 指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个
:type KeySpec: str
:param _NumberOfBytes: 生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个
:type NumberOfBytes: int
:param _EncryptionContext: key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串
:type EncryptionContext: str
:param _EncryptionPublicKey: PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:type EncryptionPublicKey: str
:param _EncryptionAlgorithm: 非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:type EncryptionAlgorithm: str
"""
self._KeyId = None
self._KeySpec = None
self._NumberOfBytes = None
self._EncryptionContext = None
self._EncryptionPublicKey = None
self._EncryptionAlgorithm = None
@property
def KeyId(self):
"""CMK全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def KeySpec(self):
"""指定生成Datakey的加密算法以及Datakey大小,AES_128或者AES_256。KeySpec 和 NumberOfBytes 必须指定一个
:rtype: str
"""
return self._KeySpec
@KeySpec.setter
def KeySpec(self, KeySpec):
self._KeySpec = KeySpec
@property
def NumberOfBytes(self):
"""生成的DataKey的长度,同时指定NumberOfBytes和KeySpec时,以NumberOfBytes为准。最小值为1, 最大值为1024。KeySpec 和 NumberOfBytes 必须指定一个
:rtype: int
"""
return self._NumberOfBytes
@NumberOfBytes.setter
def NumberOfBytes(self, NumberOfBytes):
self._NumberOfBytes = NumberOfBytes
@property
def EncryptionContext(self):
"""key/value对的json字符串,如果使用该字段,则返回的DataKey在解密时需要填入相同的字符串
:rtype: str
"""
return self._EncryptionContext
@EncryptionContext.setter
def EncryptionContext(self, EncryptionContext):
self._EncryptionContext = EncryptionContext
@property
def EncryptionPublicKey(self):
"""PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:rtype: str
"""
return self._EncryptionPublicKey
@EncryptionPublicKey.setter
def EncryptionPublicKey(self, EncryptionPublicKey):
self._EncryptionPublicKey = EncryptionPublicKey
@property
def EncryptionAlgorithm(self):
"""非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:rtype: str
"""
return self._EncryptionAlgorithm
@EncryptionAlgorithm.setter
def EncryptionAlgorithm(self, EncryptionAlgorithm):
self._EncryptionAlgorithm = EncryptionAlgorithm
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._KeySpec = params.get("KeySpec")
self._NumberOfBytes = params.get("NumberOfBytes")
self._EncryptionContext = params.get("EncryptionContext")
self._EncryptionPublicKey = params.get("EncryptionPublicKey")
self._EncryptionAlgorithm = params.get("EncryptionAlgorithm")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GenerateDataKeyResponse(AbstractModel):
"""GenerateDataKey返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识
:type KeyId: str
:param _Plaintext: 若调用时未提供 EncryptionPublicKey,该字段值为生成的数据密钥 DataKey 的 Base64 编码的明文,需进行 Base64 解码以获取 DataKey 明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取 DataKey 明文。
:type Plaintext: str
:param _CiphertextBlob: 数据密钥DataKey加密后的密文,用户需要自行保存该密文,KMS不托管用户的数据密钥。可以通过Decrypt接口从CiphertextBlob中获取数据密钥DataKey明文
:type CiphertextBlob: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._Plaintext = None
self._CiphertextBlob = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Plaintext(self):
"""若调用时未提供 EncryptionPublicKey,该字段值为生成的数据密钥 DataKey 的 Base64 编码的明文,需进行 Base64 解码以获取 DataKey 明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取 DataKey 明文。
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def CiphertextBlob(self):
"""数据密钥DataKey加密后的密文,用户需要自行保存该密文,KMS不托管用户的数据密钥。可以通过Decrypt接口从CiphertextBlob中获取数据密钥DataKey明文
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Plaintext = params.get("Plaintext")
self._CiphertextBlob = params.get("CiphertextBlob")
self._RequestId = params.get("RequestId")
class GenerateRandomRequest(AbstractModel):
"""GenerateRandom请求参数结构体
"""
def __init__(self):
r"""
:param _NumberOfBytes: 生成的随机数的长度。最小值为1, 最大值为1024。
:type NumberOfBytes: int
"""
self._NumberOfBytes = None
@property
def NumberOfBytes(self):
"""生成的随机数的长度。最小值为1, 最大值为1024。
:rtype: int
"""
return self._NumberOfBytes
@NumberOfBytes.setter
def NumberOfBytes(self, NumberOfBytes):
self._NumberOfBytes = NumberOfBytes
def _deserialize(self, params):
self._NumberOfBytes = params.get("NumberOfBytes")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GenerateRandomResponse(AbstractModel):
"""GenerateRandom返回参数结构体
"""
def __init__(self):
r"""
:param _Plaintext: 生成的随机数的明文,该明文使用base64编码,用户需要使用base64解码得到明文。
:type Plaintext: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Plaintext = None
self._RequestId = None
@property
def Plaintext(self):
"""生成的随机数的明文,该明文使用base64编码,用户需要使用base64解码得到明文。
:rtype: str
"""
return self._Plaintext
@Plaintext.setter
def Plaintext(self, Plaintext):
self._Plaintext = Plaintext
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Plaintext = params.get("Plaintext")
self._RequestId = params.get("RequestId")
class GetKeyRotationStatusRequest(AbstractModel):
"""GetKeyRotationStatus请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK唯一标识符
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetKeyRotationStatusResponse(AbstractModel):
"""GetKeyRotationStatus返回参数结构体
"""
def __init__(self):
r"""
:param _KeyRotationEnabled: 密钥轮换是否开启
:type KeyRotationEnabled: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyRotationEnabled = None
self._RequestId = None
@property
def KeyRotationEnabled(self):
"""密钥轮换是否开启
:rtype: bool
"""
return self._KeyRotationEnabled
@KeyRotationEnabled.setter
def KeyRotationEnabled(self, KeyRotationEnabled):
self._KeyRotationEnabled = KeyRotationEnabled
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyRotationEnabled = params.get("KeyRotationEnabled")
self._RequestId = params.get("RequestId")
class GetParametersForImportRequest(AbstractModel):
"""GetParametersForImport请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识,获取密钥参数的CMK必须是EXTERNAL类型,即在CreateKey时指定Type=2 类型的CMK。
:type KeyId: str
:param _WrappingAlgorithm: 指定加密密钥材料的算法,目前支持RSAES_PKCS1_V1_5、RSAES_OAEP_SHA_1、RSAES_OAEP_SHA_256
:type WrappingAlgorithm: str
:param _WrappingKeySpec: 指定加密密钥材料的类型,目前只支持RSA_2048
:type WrappingKeySpec: str
"""
self._KeyId = None
self._WrappingAlgorithm = None
self._WrappingKeySpec = None
@property
def KeyId(self):
"""CMK的唯一标识,获取密钥参数的CMK必须是EXTERNAL类型,即在CreateKey时指定Type=2 类型的CMK。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def WrappingAlgorithm(self):
"""指定加密密钥材料的算法,目前支持RSAES_PKCS1_V1_5、RSAES_OAEP_SHA_1、RSAES_OAEP_SHA_256
:rtype: str
"""
return self._WrappingAlgorithm
@WrappingAlgorithm.setter
def WrappingAlgorithm(self, WrappingAlgorithm):
self._WrappingAlgorithm = WrappingAlgorithm
@property
def WrappingKeySpec(self):
"""指定加密密钥材料的类型,目前只支持RSA_2048
:rtype: str
"""
return self._WrappingKeySpec
@WrappingKeySpec.setter
def WrappingKeySpec(self, WrappingKeySpec):
self._WrappingKeySpec = WrappingKeySpec
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._WrappingAlgorithm = params.get("WrappingAlgorithm")
self._WrappingKeySpec = params.get("WrappingKeySpec")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetParametersForImportResponse(AbstractModel):
"""GetParametersForImport返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识,用于指定目标导入密钥材料的CMK。
:type KeyId: str
:param _ImportToken: 导入密钥材料需要的token,用于作为 ImportKeyMaterial 的参数。
:type ImportToken: str
:param _PublicKey: 用于加密密钥材料的RSA公钥,base64编码。使用PublicKey base64解码后的公钥将导入密钥进行加密后作为 ImportKeyMaterial 的参数。
:type PublicKey: str
:param _ParametersValidTo: 该导出token和公钥的有效期,超过该时间后无法导入,需要重新调用GetParametersForImport获取。
:type ParametersValidTo: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._ImportToken = None
self._PublicKey = None
self._ParametersValidTo = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的唯一标识,用于指定目标导入密钥材料的CMK。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def ImportToken(self):
"""导入密钥材料需要的token,用于作为 ImportKeyMaterial 的参数。
:rtype: str
"""
return self._ImportToken
@ImportToken.setter
def ImportToken(self, ImportToken):
self._ImportToken = ImportToken
@property
def PublicKey(self):
"""用于加密密钥材料的RSA公钥,base64编码。使用PublicKey base64解码后的公钥将导入密钥进行加密后作为 ImportKeyMaterial 的参数。
:rtype: str
"""
return self._PublicKey
@PublicKey.setter
def PublicKey(self, PublicKey):
self._PublicKey = PublicKey
@property
def ParametersValidTo(self):
"""该导出token和公钥的有效期,超过该时间后无法导入,需要重新调用GetParametersForImport获取。
:rtype: int
"""
return self._ParametersValidTo
@ParametersValidTo.setter
def ParametersValidTo(self, ParametersValidTo):
self._ParametersValidTo = ParametersValidTo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._ImportToken = params.get("ImportToken")
self._PublicKey = params.get("PublicKey")
self._ParametersValidTo = params.get("ParametersValidTo")
self._RequestId = params.get("RequestId")
class GetPublicKeyRequest(AbstractModel):
"""GetPublicKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识。
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK的唯一标识。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetPublicKeyResponse(AbstractModel):
"""GetPublicKey返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标识。
:type KeyId: str
:param _PublicKey: 经过base64编码的公钥内容。
:type PublicKey: str
:param _PublicKeyPem: PEM格式的公钥内容。
:type PublicKeyPem: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._PublicKey = None
self._PublicKeyPem = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的唯一标识。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def PublicKey(self):
"""经过base64编码的公钥内容。
:rtype: str
"""
return self._PublicKey
@PublicKey.setter
def PublicKey(self, PublicKey):
self._PublicKey = PublicKey
@property
def PublicKeyPem(self):
"""PEM格式的公钥内容。
:rtype: str
"""
return self._PublicKeyPem
@PublicKeyPem.setter
def PublicKeyPem(self, PublicKeyPem):
self._PublicKeyPem = PublicKeyPem
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._PublicKey = params.get("PublicKey")
self._PublicKeyPem = params.get("PublicKeyPem")
self._RequestId = params.get("RequestId")
class GetRegionsRequest(AbstractModel):
"""GetRegions请求参数结构体
"""
class GetRegionsResponse(AbstractModel):
"""GetRegions返回参数结构体
"""
def __init__(self):
r"""
:param _Regions: 可用region列表
:type Regions: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Regions = None
self._RequestId = None
@property
def Regions(self):
"""可用region列表
:rtype: list of str
"""
return self._Regions
@Regions.setter
def Regions(self, Regions):
self._Regions = Regions
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Regions = params.get("Regions")
self._RequestId = params.get("RequestId")
class GetServiceStatusRequest(AbstractModel):
"""GetServiceStatus请求参数结构体
"""
class GetServiceStatusResponse(AbstractModel):
"""GetServiceStatus返回参数结构体
"""
def __init__(self):
r"""
:param _ServiceEnabled: KMS服务是否开通, true 表示已开通
:type ServiceEnabled: bool
:param _InvalidType: 服务不可用类型: 0-未购买,1-正常, 2-欠费停服, 3-资源释放
:type InvalidType: int
:param _UserLevel: 0-普通版,1-旗舰版
:type UserLevel: int
:param _ProExpireTime: 旗舰版到期时间(Epoch Unix Timestamp)。
:type ProExpireTime: int
:param _ProRenewFlag: 旗舰版是否自动续费:0-不自动续费,1-自动续费
:type ProRenewFlag: int
:param _ProResourceId: 旗舰版购买记录的唯一性标识。如果为开通旗舰版,则返回值为空
:type ProResourceId: str
:param _ExclusiveVSMEnabled: 是否开通 KMS 托管版
:type ExclusiveVSMEnabled: bool
:param _ExclusiveHSMEnabled: 是否开通 KMS 独享版
:type ExclusiveHSMEnabled: bool
:param _SubscriptionInfo: KMS 订阅信息。
:type SubscriptionInfo: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ServiceEnabled = None
self._InvalidType = None
self._UserLevel = None
self._ProExpireTime = None
self._ProRenewFlag = None
self._ProResourceId = None
self._ExclusiveVSMEnabled = None
self._ExclusiveHSMEnabled = None
self._SubscriptionInfo = None
self._RequestId = None
@property
def ServiceEnabled(self):
"""KMS服务是否开通, true 表示已开通
:rtype: bool
"""
return self._ServiceEnabled
@ServiceEnabled.setter
def ServiceEnabled(self, ServiceEnabled):
self._ServiceEnabled = ServiceEnabled
@property
def InvalidType(self):
"""服务不可用类型: 0-未购买,1-正常, 2-欠费停服, 3-资源释放
:rtype: int
"""
return self._InvalidType
@InvalidType.setter
def InvalidType(self, InvalidType):
self._InvalidType = InvalidType
@property
def UserLevel(self):
"""0-普通版,1-旗舰版
:rtype: int
"""
return self._UserLevel
@UserLevel.setter
def UserLevel(self, UserLevel):
self._UserLevel = UserLevel
@property
def ProExpireTime(self):
"""旗舰版到期时间(Epoch Unix Timestamp)。
:rtype: int
"""
return self._ProExpireTime
@ProExpireTime.setter
def ProExpireTime(self, ProExpireTime):
self._ProExpireTime = ProExpireTime
@property
def ProRenewFlag(self):
"""旗舰版是否自动续费:0-不自动续费,1-自动续费
:rtype: int
"""
return self._ProRenewFlag
@ProRenewFlag.setter
def ProRenewFlag(self, ProRenewFlag):
self._ProRenewFlag = ProRenewFlag
@property
def ProResourceId(self):
"""旗舰版购买记录的唯一性标识。如果为开通旗舰版,则返回值为空
:rtype: str
"""
return self._ProResourceId
@ProResourceId.setter
def ProResourceId(self, ProResourceId):
self._ProResourceId = ProResourceId
@property
def ExclusiveVSMEnabled(self):
"""是否开通 KMS 托管版
:rtype: bool
"""
return self._ExclusiveVSMEnabled
@ExclusiveVSMEnabled.setter
def ExclusiveVSMEnabled(self, ExclusiveVSMEnabled):
self._ExclusiveVSMEnabled = ExclusiveVSMEnabled
@property
def ExclusiveHSMEnabled(self):
"""是否开通 KMS 独享版
:rtype: bool
"""
return self._ExclusiveHSMEnabled
@ExclusiveHSMEnabled.setter
def ExclusiveHSMEnabled(self, ExclusiveHSMEnabled):
self._ExclusiveHSMEnabled = ExclusiveHSMEnabled
@property
def SubscriptionInfo(self):
"""KMS 订阅信息。
:rtype: str
"""
return self._SubscriptionInfo
@SubscriptionInfo.setter
def SubscriptionInfo(self, SubscriptionInfo):
self._SubscriptionInfo = SubscriptionInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._ServiceEnabled = params.get("ServiceEnabled")
self._InvalidType = params.get("InvalidType")
self._UserLevel = params.get("UserLevel")
self._ProExpireTime = params.get("ProExpireTime")
self._ProRenewFlag = params.get("ProRenewFlag")
self._ProResourceId = params.get("ProResourceId")
self._ExclusiveVSMEnabled = params.get("ExclusiveVSMEnabled")
self._ExclusiveHSMEnabled = params.get("ExclusiveHSMEnabled")
self._SubscriptionInfo = params.get("SubscriptionInfo")
self._RequestId = params.get("RequestId")
class ImportKeyMaterialRequest(AbstractModel):
"""ImportKeyMaterial请求参数结构体
"""
def __init__(self):
r"""
:param _EncryptedKeyMaterial: 使用GetParametersForImport 返回的PublicKey加密后的密钥材料base64编码。对于国密版本region的KMS,导入的密钥材料长度要求为 128 bit,FIPS版本region的KMS, 导入的密钥材料长度要求为 256 bit。
:type EncryptedKeyMaterial: str
:param _ImportToken: 通过调用GetParametersForImport获得的导入令牌。
:type ImportToken: str
:param _KeyId: 指定导入密钥材料的CMK,需要和GetParametersForImport 指定的CMK相同。
:type KeyId: str
:param _ValidTo: 密钥材料过期时间 unix 时间戳,不指定或者 0 表示密钥材料不会过期,若指定过期时间,需要大于当前时间点,最大支持 2147443200。
:type ValidTo: int
"""
self._EncryptedKeyMaterial = None
self._ImportToken = None
self._KeyId = None
self._ValidTo = None
@property
def EncryptedKeyMaterial(self):
"""使用GetParametersForImport 返回的PublicKey加密后的密钥材料base64编码。对于国密版本region的KMS,导入的密钥材料长度要求为 128 bit,FIPS版本region的KMS, 导入的密钥材料长度要求为 256 bit。
:rtype: str
"""
return self._EncryptedKeyMaterial
@EncryptedKeyMaterial.setter
def EncryptedKeyMaterial(self, EncryptedKeyMaterial):
self._EncryptedKeyMaterial = EncryptedKeyMaterial
@property
def ImportToken(self):
"""通过调用GetParametersForImport获得的导入令牌。
:rtype: str
"""
return self._ImportToken
@ImportToken.setter
def ImportToken(self, ImportToken):
self._ImportToken = ImportToken
@property
def KeyId(self):
"""指定导入密钥材料的CMK,需要和GetParametersForImport 指定的CMK相同。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def ValidTo(self):
"""密钥材料过期时间 unix 时间戳,不指定或者 0 表示密钥材料不会过期,若指定过期时间,需要大于当前时间点,最大支持 2147443200。
:rtype: int
"""
return self._ValidTo
@ValidTo.setter
def ValidTo(self, ValidTo):
self._ValidTo = ValidTo
def _deserialize(self, params):
self._EncryptedKeyMaterial = params.get("EncryptedKeyMaterial")
self._ImportToken = params.get("ImportToken")
self._KeyId = params.get("KeyId")
self._ValidTo = params.get("ValidTo")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ImportKeyMaterialResponse(AbstractModel):
"""ImportKeyMaterial返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class Key(AbstractModel):
"""返回CMK列表信息
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识。
:type KeyId: str
"""
self._KeyId = None
@property
def KeyId(self):
"""CMK的全局唯一标识。
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class KeyMetadata(AbstractModel):
"""CMK属性信息
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识
:type KeyId: str
:param _Alias: 作为密钥更容易辨识,更容易被人看懂的别名
:type Alias: str
:param _CreateTime: 密钥创建时间
:type CreateTime: int
:param _Description: CMK的描述
:type Description: str
:param _KeyState: CMK的状态, 取值为:Enabled | Disabled | PendingDelete | PendingImport | Archived
:type KeyState: str
:param _KeyUsage: CMK用途,取值为: ENCRYPT_DECRYPT | ASYMMETRIC_DECRYPT_RSA_2048 | ASYMMETRIC_DECRYPT_SM2 | ASYMMETRIC_SIGN_VERIFY_SM2 | ASYMMETRIC_SIGN_VERIFY_RSA_2048 | ASYMMETRIC_SIGN_VERIFY_ECC
:type KeyUsage: str
:param _Type: CMK类型,2 表示符合FIPS标准,4表示符合国密标准
:type Type: int
:param _CreatorUin: 创建者
:type CreatorUin: int
:param _KeyRotationEnabled: 是否开启了密钥轮换功能
:type KeyRotationEnabled: bool
:param _Owner: CMK的创建者,用户创建的为 user,授权各云产品自动创建的为对应的产品名
:type Owner: str
:param _NextRotateTime: 在密钥轮换开启状态下,下次轮换的时间
:type NextRotateTime: int
:param _DeletionDate: 计划删除的时间
:type DeletionDate: int
:param _Origin: CMK 密钥材料类型,由KMS创建的为: TENCENT_KMS, 由用户导入的类型为:EXTERNAL
:type Origin: str
:param _ValidTo: 在Origin为 EXTERNAL 时有效,表示密钥材料的有效日期, 0 表示不过期
:type ValidTo: int
:param _ResourceId: 资源ID,格式:creatorUin/$creatorUin/$keyId
:type ResourceId: str
:param _HsmClusterId: HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
:type HsmClusterId: str
:param _RotateDays: 密钥轮转周期(天)
:type RotateDays: int
:param _LastRotateTime: 上次乱转时间(Unix timestamp)
:type LastRotateTime: int
"""
self._KeyId = None
self._Alias = None
self._CreateTime = None
self._Description = None
self._KeyState = None
self._KeyUsage = None
self._Type = None
self._CreatorUin = None
self._KeyRotationEnabled = None
self._Owner = None
self._NextRotateTime = None
self._DeletionDate = None
self._Origin = None
self._ValidTo = None
self._ResourceId = None
self._HsmClusterId = None
self._RotateDays = None
self._LastRotateTime = None
@property
def KeyId(self):
"""CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Alias(self):
"""作为密钥更容易辨识,更容易被人看懂的别名
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def CreateTime(self):
"""密钥创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Description(self):
"""CMK的描述
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def KeyState(self):
"""CMK的状态, 取值为:Enabled | Disabled | PendingDelete | PendingImport | Archived
:rtype: str
"""
return self._KeyState
@KeyState.setter
def KeyState(self, KeyState):
self._KeyState = KeyState
@property
def KeyUsage(self):
"""CMK用途,取值为: ENCRYPT_DECRYPT | ASYMMETRIC_DECRYPT_RSA_2048 | ASYMMETRIC_DECRYPT_SM2 | ASYMMETRIC_SIGN_VERIFY_SM2 | ASYMMETRIC_SIGN_VERIFY_RSA_2048 | ASYMMETRIC_SIGN_VERIFY_ECC
:rtype: str
"""
return self._KeyUsage
@KeyUsage.setter
def KeyUsage(self, KeyUsage):
self._KeyUsage = KeyUsage
@property
def Type(self):
"""CMK类型,2 表示符合FIPS标准,4表示符合国密标准
:rtype: int
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def CreatorUin(self):
"""创建者
:rtype: int
"""
return self._CreatorUin
@CreatorUin.setter
def CreatorUin(self, CreatorUin):
self._CreatorUin = CreatorUin
@property
def KeyRotationEnabled(self):
"""是否开启了密钥轮换功能
:rtype: bool
"""
return self._KeyRotationEnabled
@KeyRotationEnabled.setter
def KeyRotationEnabled(self, KeyRotationEnabled):
self._KeyRotationEnabled = KeyRotationEnabled
@property
def Owner(self):
"""CMK的创建者,用户创建的为 user,授权各云产品自动创建的为对应的产品名
:rtype: str
"""
return self._Owner
@Owner.setter
def Owner(self, Owner):
self._Owner = Owner
@property
def NextRotateTime(self):
"""在密钥轮换开启状态下,下次轮换的时间
:rtype: int
"""
return self._NextRotateTime
@NextRotateTime.setter
def NextRotateTime(self, NextRotateTime):
self._NextRotateTime = NextRotateTime
@property
def DeletionDate(self):
"""计划删除的时间
:rtype: int
"""
return self._DeletionDate
@DeletionDate.setter
def DeletionDate(self, DeletionDate):
self._DeletionDate = DeletionDate
@property
def Origin(self):
"""CMK 密钥材料类型,由KMS创建的为: TENCENT_KMS, 由用户导入的类型为:EXTERNAL
:rtype: str
"""
return self._Origin
@Origin.setter
def Origin(self, Origin):
self._Origin = Origin
@property
def ValidTo(self):
"""在Origin为 EXTERNAL 时有效,表示密钥材料的有效日期, 0 表示不过期
:rtype: int
"""
return self._ValidTo
@ValidTo.setter
def ValidTo(self, ValidTo):
self._ValidTo = ValidTo
@property
def ResourceId(self):
"""资源ID,格式:creatorUin/$creatorUin/$keyId
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
@property
def HsmClusterId(self):
"""HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)
:rtype: str
"""
return self._HsmClusterId
@HsmClusterId.setter
def HsmClusterId(self, HsmClusterId):
self._HsmClusterId = HsmClusterId
@property
def RotateDays(self):
"""密钥轮转周期(天)
:rtype: int
"""
return self._RotateDays
@RotateDays.setter
def RotateDays(self, RotateDays):
self._RotateDays = RotateDays
@property
def LastRotateTime(self):
"""上次乱转时间(Unix timestamp)
:rtype: int
"""
return self._LastRotateTime
@LastRotateTime.setter
def LastRotateTime(self, LastRotateTime):
self._LastRotateTime = LastRotateTime
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Alias = params.get("Alias")
self._CreateTime = params.get("CreateTime")
self._Description = params.get("Description")
self._KeyState = params.get("KeyState")
self._KeyUsage = params.get("KeyUsage")
self._Type = params.get("Type")
self._CreatorUin = params.get("CreatorUin")
self._KeyRotationEnabled = params.get("KeyRotationEnabled")
self._Owner = params.get("Owner")
self._NextRotateTime = params.get("NextRotateTime")
self._DeletionDate = params.get("DeletionDate")
self._Origin = params.get("Origin")
self._ValidTo = params.get("ValidTo")
self._ResourceId = params.get("ResourceId")
self._HsmClusterId = params.get("HsmClusterId")
self._RotateDays = params.get("RotateDays")
self._LastRotateTime = params.get("LastRotateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ListAlgorithmsRequest(AbstractModel):
"""ListAlgorithms请求参数结构体
"""
class ListAlgorithmsResponse(AbstractModel):
"""ListAlgorithms返回参数结构体
"""
def __init__(self):
r"""
:param _SymmetricAlgorithms: 本地区支持的对称加密算法
:type SymmetricAlgorithms: list of AlgorithmInfo
:param _AsymmetricAlgorithms: 本地区支持的非对称加密算法
:type AsymmetricAlgorithms: list of AlgorithmInfo
:param _AsymmetricSignVerifyAlgorithms: 本地区支持的非对称签名验签算法
:type AsymmetricSignVerifyAlgorithms: list of AlgorithmInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SymmetricAlgorithms = None
self._AsymmetricAlgorithms = None
self._AsymmetricSignVerifyAlgorithms = None
self._RequestId = None
@property
def SymmetricAlgorithms(self):
"""本地区支持的对称加密算法
:rtype: list of AlgorithmInfo
"""
return self._SymmetricAlgorithms
@SymmetricAlgorithms.setter
def SymmetricAlgorithms(self, SymmetricAlgorithms):
self._SymmetricAlgorithms = SymmetricAlgorithms
@property
def AsymmetricAlgorithms(self):
"""本地区支持的非对称加密算法
:rtype: list of AlgorithmInfo
"""
return self._AsymmetricAlgorithms
@AsymmetricAlgorithms.setter
def AsymmetricAlgorithms(self, AsymmetricAlgorithms):
self._AsymmetricAlgorithms = AsymmetricAlgorithms
@property
def AsymmetricSignVerifyAlgorithms(self):
"""本地区支持的非对称签名验签算法
:rtype: list of AlgorithmInfo
"""
return self._AsymmetricSignVerifyAlgorithms
@AsymmetricSignVerifyAlgorithms.setter
def AsymmetricSignVerifyAlgorithms(self, AsymmetricSignVerifyAlgorithms):
self._AsymmetricSignVerifyAlgorithms = AsymmetricSignVerifyAlgorithms
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("SymmetricAlgorithms") is not None:
self._SymmetricAlgorithms = []
for item in params.get("SymmetricAlgorithms"):
obj = AlgorithmInfo()
obj._deserialize(item)
self._SymmetricAlgorithms.append(obj)
if params.get("AsymmetricAlgorithms") is not None:
self._AsymmetricAlgorithms = []
for item in params.get("AsymmetricAlgorithms"):
obj = AlgorithmInfo()
obj._deserialize(item)
self._AsymmetricAlgorithms.append(obj)
if params.get("AsymmetricSignVerifyAlgorithms") is not None:
self._AsymmetricSignVerifyAlgorithms = []
for item in params.get("AsymmetricSignVerifyAlgorithms"):
obj = AlgorithmInfo()
obj._deserialize(item)
self._AsymmetricSignVerifyAlgorithms.append(obj)
self._RequestId = params.get("RequestId")
class ListKeyDetailRequest(AbstractModel):
"""ListKeyDetail请求参数结构体
"""
def __init__(self):
r"""
:param _Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:type Offset: int
:param _Limit: 含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为10,最大值为200
:type Limit: int
:param _Role: 根据创建者角色筛选,默认 0 表示用户自己创建的cmk, 1 表示授权其它云产品自动创建的cmk
:type Role: int
:param _OrderType: 根据CMK创建时间排序, 0 表示按照降序排序,1表示按照升序排序
:type OrderType: int
:param _KeyState: 根据CMK状态筛选, 0表示全部CMK, 1 表示仅查询Enabled CMK, 2 表示仅查询Disabled CMK,3 表示查询PendingDelete 状态的CMK(处于计划删除状态的Key),4 表示查询 PendingImport 状态的CMK,5 表示查询 Archived 状态的 CMK
:type KeyState: int
:param _SearchKeyAlias: 根据KeyId或者Alias进行模糊匹配查询
:type SearchKeyAlias: str
:param _Origin: 根据CMK类型筛选, "TENCENT_KMS" 表示筛选密钥材料由KMS创建的CMK, "EXTERNAL" 表示筛选密钥材料需要用户导入的 EXTERNAL类型CMK,"ALL" 或者不设置表示两种类型都查询,大小写敏感。
:type Origin: str
:param _KeyUsage: 根据CMK的KeyUsage筛选,ALL表示筛选全部,可使用的参数为:ALL 或 ENCRYPT_DECRYPT 或 ASYMMETRIC_DECRYPT_RSA_2048 或 ASYMMETRIC_DECRYPT_SM2 或 ASYMMETRIC_SIGN_VERIFY_SM2 或 ASYMMETRIC_SIGN_VERIFY_RSA_2048 或 ASYMMETRIC_SIGN_VERIFY_ECC,为空则默认筛选ENCRYPT_DECRYPT类型
:type KeyUsage: str
:param _TagFilters: 标签过滤条件
:type TagFilters: list of TagFilter
:param _HsmClusterId: KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:type HsmClusterId: str
"""
self._Offset = None
self._Limit = None
self._Role = None
self._OrderType = None
self._KeyState = None
self._SearchKeyAlias = None
self._Origin = None
self._KeyUsage = None
self._TagFilters = None
self._HsmClusterId = None
@property
def Offset(self):
"""含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""含义跟 SQL 查询的 Limit 一致,表示本次最多获取 Limit 个元素。缺省值为10,最大值为200
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Role(self):
"""根据创建者角色筛选,默认 0 表示用户自己创建的cmk, 1 表示授权其它云产品自动创建的cmk
:rtype: int
"""
return self._Role
@Role.setter
def Role(self, Role):
self._Role = Role
@property
def OrderType(self):
"""根据CMK创建时间排序, 0 表示按照降序排序,1表示按照升序排序
:rtype: int
"""
return self._OrderType
@OrderType.setter
def OrderType(self, OrderType):
self._OrderType = OrderType
@property
def KeyState(self):
"""根据CMK状态筛选, 0表示全部CMK, 1 表示仅查询Enabled CMK, 2 表示仅查询Disabled CMK,3 表示查询PendingDelete 状态的CMK(处于计划删除状态的Key),4 表示查询 PendingImport 状态的CMK,5 表示查询 Archived 状态的 CMK
:rtype: int
"""
return self._KeyState
@KeyState.setter
def KeyState(self, KeyState):
self._KeyState = KeyState
@property
def SearchKeyAlias(self):
"""根据KeyId或者Alias进行模糊匹配查询
:rtype: str
"""
return self._SearchKeyAlias
@SearchKeyAlias.setter
def SearchKeyAlias(self, SearchKeyAlias):
self._SearchKeyAlias = SearchKeyAlias
@property
def Origin(self):
"""根据CMK类型筛选, "TENCENT_KMS" 表示筛选密钥材料由KMS创建的CMK, "EXTERNAL" 表示筛选密钥材料需要用户导入的 EXTERNAL类型CMK,"ALL" 或者不设置表示两种类型都查询,大小写敏感。
:rtype: str
"""
return self._Origin
@Origin.setter
def Origin(self, Origin):
self._Origin = Origin
@property
def KeyUsage(self):
"""根据CMK的KeyUsage筛选,ALL表示筛选全部,可使用的参数为:ALL 或 ENCRYPT_DECRYPT 或 ASYMMETRIC_DECRYPT_RSA_2048 或 ASYMMETRIC_DECRYPT_SM2 或 ASYMMETRIC_SIGN_VERIFY_SM2 或 ASYMMETRIC_SIGN_VERIFY_RSA_2048 或 ASYMMETRIC_SIGN_VERIFY_ECC,为空则默认筛选ENCRYPT_DECRYPT类型
:rtype: str
"""
return self._KeyUsage
@KeyUsage.setter
def KeyUsage(self, KeyUsage):
self._KeyUsage = KeyUsage
@property
def TagFilters(self):
"""标签过滤条件
:rtype: list of TagFilter
"""
return self._TagFilters
@TagFilters.setter
def TagFilters(self, TagFilters):
self._TagFilters = TagFilters
@property
def HsmClusterId(self):
"""KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:rtype: str
"""
return self._HsmClusterId
@HsmClusterId.setter
def HsmClusterId(self, HsmClusterId):
self._HsmClusterId = HsmClusterId
def _deserialize(self, params):
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Role = params.get("Role")
self._OrderType = params.get("OrderType")
self._KeyState = params.get("KeyState")
self._SearchKeyAlias = params.get("SearchKeyAlias")
self._Origin = params.get("Origin")
self._KeyUsage = params.get("KeyUsage")
if params.get("TagFilters") is not None:
self._TagFilters = []
for item in params.get("TagFilters"):
obj = TagFilter()
obj._deserialize(item)
self._TagFilters.append(obj)
self._HsmClusterId = params.get("HsmClusterId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ListKeyDetailResponse(AbstractModel):
"""ListKeyDetail返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: CMK的总数量
:type TotalCount: int
:param _KeyMetadatas: 返回的属性信息列表。
:type KeyMetadatas: list of KeyMetadata
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._KeyMetadatas = None
self._RequestId = None
@property
def TotalCount(self):
"""CMK的总数量
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def KeyMetadatas(self):
"""返回的属性信息列表。
:rtype: list of KeyMetadata
"""
return self._KeyMetadatas
@KeyMetadatas.setter
def KeyMetadatas(self, KeyMetadatas):
self._KeyMetadatas = KeyMetadatas
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("KeyMetadatas") is not None:
self._KeyMetadatas = []
for item in params.get("KeyMetadatas"):
obj = KeyMetadata()
obj._deserialize(item)
self._KeyMetadatas.append(obj)
self._RequestId = params.get("RequestId")
class ListKeysRequest(AbstractModel):
"""ListKeys请求参数结构体
"""
def __init__(self):
r"""
:param _Offset: 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:type Offset: int
:param _Limit: 含义跟 SQL 查询的 Limit 一致,表示本次获最多获取 Limit 个元素。缺省值为10,最大值为200
:type Limit: int
:param _Role: 根据创建者角色筛选,默认 0 表示用户自己创建的cmk, 1 表示授权其它云产品自动创建的cmk
:type Role: int
:param _HsmClusterId: KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:type HsmClusterId: str
"""
self._Offset = None
self._Limit = None
self._Role = None
self._HsmClusterId = None
@property
def Offset(self):
"""含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""含义跟 SQL 查询的 Limit 一致,表示本次获最多获取 Limit 个元素。缺省值为10,最大值为200
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Role(self):
"""根据创建者角色筛选,默认 0 表示用户自己创建的cmk, 1 表示授权其它云产品自动创建的cmk
:rtype: int
"""
return self._Role
@Role.setter
def Role(self, Role):
self._Role = Role
@property
def HsmClusterId(self):
"""KMS 高级版对应的 HSM 集群 ID(仅对 KMS 独占版/托管版服务实例有效)。
:rtype: str
"""
return self._HsmClusterId
@HsmClusterId.setter
def HsmClusterId(self, HsmClusterId):
self._HsmClusterId = HsmClusterId
def _deserialize(self, params):
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Role = params.get("Role")
self._HsmClusterId = params.get("HsmClusterId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ListKeysResponse(AbstractModel):
"""ListKeys返回参数结构体
"""
def __init__(self):
r"""
:param _Keys: CMK列表数组
:type Keys: list of Key
:param _TotalCount: CMK的总数量
:type TotalCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Keys = None
self._TotalCount = None
self._RequestId = None
@property
def Keys(self):
"""CMK列表数组
:rtype: list of Key
"""
return self._Keys
@Keys.setter
def Keys(self, Keys):
self._Keys = Keys
@property
def TotalCount(self):
"""CMK的总数量
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Keys") is not None:
self._Keys = []
for item in params.get("Keys"):
obj = Key()
obj._deserialize(item)
self._Keys.append(obj)
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class OverwriteWhiteBoxDeviceFingerprintsRequest(AbstractModel):
"""OverwriteWhiteBoxDeviceFingerprints请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥ID
:type KeyId: str
:param _DeviceFingerprints: 设备指纹列表,如果列表为空,则表示删除该密钥对应的所有指纹信息。列表最大长度不超过200。
:type DeviceFingerprints: list of DeviceFingerprint
"""
self._KeyId = None
self._DeviceFingerprints = None
@property
def KeyId(self):
"""白盒密钥ID
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def DeviceFingerprints(self):
"""设备指纹列表,如果列表为空,则表示删除该密钥对应的所有指纹信息。列表最大长度不超过200。
:rtype: list of DeviceFingerprint
"""
return self._DeviceFingerprints
@DeviceFingerprints.setter
def DeviceFingerprints(self, DeviceFingerprints):
self._DeviceFingerprints = DeviceFingerprints
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
if params.get("DeviceFingerprints") is not None:
self._DeviceFingerprints = []
for item in params.get("DeviceFingerprints"):
obj = DeviceFingerprint()
obj._deserialize(item)
self._DeviceFingerprints.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class OverwriteWhiteBoxDeviceFingerprintsResponse(AbstractModel):
"""OverwriteWhiteBoxDeviceFingerprints返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class PostQuantumCryptoDecryptRequest(AbstractModel):
"""PostQuantumCryptoDecrypt请求参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 待解密的密文数据
:type CiphertextBlob: str
:param _EncryptionPublicKey: PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:type EncryptionPublicKey: str
:param _EncryptionAlgorithm: 非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:type EncryptionAlgorithm: str
"""
self._CiphertextBlob = None
self._EncryptionPublicKey = None
self._EncryptionAlgorithm = None
@property
def CiphertextBlob(self):
"""待解密的密文数据
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def EncryptionPublicKey(self):
"""PEM 格式公钥字符串,支持 RSA2048 和 SM2 公钥,用于对返回数据中的 Plaintext 值进行加密。若为空,则不对 Plaintext 值加密。
:rtype: str
"""
return self._EncryptionPublicKey
@EncryptionPublicKey.setter
def EncryptionPublicKey(self, EncryptionPublicKey):
self._EncryptionPublicKey = EncryptionPublicKey
@property
def EncryptionAlgorithm(self):
"""非对称加密算法,配合 EncryptionPublicKey 对返回数据进行加密。目前支持:SM2(以 C1C3C2 格式返回密文),SM2_C1C3C2_ASN1 (以 C1C3C2 ASN1 格式返回密文),RSAES_PKCS1_V1_5,RSAES_OAEP_SHA_1,RSAES_OAEP_SHA_256。若为空,则默认为 SM2。
:rtype: str
"""
return self._EncryptionAlgorithm
@EncryptionAlgorithm.setter
def EncryptionAlgorithm(self, EncryptionAlgorithm):
self._EncryptionAlgorithm = EncryptionAlgorithm
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._EncryptionPublicKey = params.get("EncryptionPublicKey")
self._EncryptionAlgorithm = params.get("EncryptionAlgorithm")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostQuantumCryptoDecryptResponse(AbstractModel):
"""PostQuantumCryptoDecrypt返回参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的全局唯一标识
:type KeyId: str
:param _PlainText: 若调用时未提供 EncryptionPublicKey,该字段值为 Base64 编码的明文,需进行 Base64 解码以获取明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取明文。
:type PlainText: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._KeyId = None
self._PlainText = None
self._RequestId = None
@property
def KeyId(self):
"""CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def PlainText(self):
"""若调用时未提供 EncryptionPublicKey,该字段值为 Base64 编码的明文,需进行 Base64 解码以获取明文。
若调用时提供了 EncryptionPublicKey,则该字段值为使用 EncryptionPublicKey 公钥进行非对称加密后的 Base64 编码的密文。需在 Base64 解码后,使用用户上传的公钥对应的私钥进行进一步解密,以获取明文。
:rtype: str
"""
return self._PlainText
@PlainText.setter
def PlainText(self, PlainText):
self._PlainText = PlainText
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._PlainText = params.get("PlainText")
self._RequestId = params.get("RequestId")
class PostQuantumCryptoEncryptRequest(AbstractModel):
"""PostQuantumCryptoEncrypt请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 调用CreateKey生成的CMK全局唯一标识符
:type KeyId: str
:param _PlainText: 被加密的明文数据,该字段必须使用base64编码,原文最大长度支持4K
:type PlainText: str
"""
self._KeyId = None
self._PlainText = None
@property
def KeyId(self):
"""调用CreateKey生成的CMK全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def PlainText(self):
"""被加密的明文数据,该字段必须使用base64编码,原文最大长度支持4K
:rtype: str
"""
return self._PlainText
@PlainText.setter
def PlainText(self, PlainText):
self._PlainText = PlainText
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._PlainText = params.get("PlainText")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostQuantumCryptoEncryptResponse(AbstractModel):
"""PostQuantumCryptoEncrypt返回参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 加密后的密文,base64编码。注意:本字段中打包了密文和密钥的相关信息,不是对明文的直接加密结果,只有将该字段作为PostQuantumCryptoDecrypt接口的输入参数,才可以解密出原文。
:type CiphertextBlob: str
:param _KeyId: 加密使用的CMK的全局唯一标识
:type KeyId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CiphertextBlob = None
self._KeyId = None
self._RequestId = None
@property
def CiphertextBlob(self):
"""加密后的密文,base64编码。注意:本字段中打包了密文和密钥的相关信息,不是对明文的直接加密结果,只有将该字段作为PostQuantumCryptoDecrypt接口的输入参数,才可以解密出原文。
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def KeyId(self):
"""加密使用的CMK的全局唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._KeyId = params.get("KeyId")
self._RequestId = params.get("RequestId")
class PostQuantumCryptoSignRequest(AbstractModel):
"""PostQuantumCryptoSign请求参数结构体
"""
def __init__(self):
r"""
:param _Message: Base64 编码的消息原文。消息原文的长度(Base64编码前的长度)不超过4096字节。
:type Message: str
:param _KeyId: 密钥的唯一标识
:type KeyId: str
"""
self._Message = None
self._KeyId = None
@property
def Message(self):
"""Base64 编码的消息原文。消息原文的长度(Base64编码前的长度)不超过4096字节。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def KeyId(self):
"""密钥的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._Message = params.get("Message")
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostQuantumCryptoSignResponse(AbstractModel):
"""PostQuantumCryptoSign返回参数结构体
"""
def __init__(self):
r"""
:param _Signature: 签名值,Base64编码。可使用 PostQuantumCryptoVerify接口对签名值进行验证。
:type Signature: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Signature = None
self._RequestId = None
@property
def Signature(self):
"""签名值,Base64编码。可使用 PostQuantumCryptoVerify接口对签名值进行验证。
:rtype: str
"""
return self._Signature
@Signature.setter
def Signature(self, Signature):
self._Signature = Signature
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Signature = params.get("Signature")
self._RequestId = params.get("RequestId")
class PostQuantumCryptoVerifyRequest(AbstractModel):
"""PostQuantumCryptoVerify请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 密钥的唯一标识
:type KeyId: str
:param _SignatureValue: 签名值,通过调用KMS PostQuantumCryptoSign签名接口生成
:type SignatureValue: str
:param _Message: Base64 编码的消息原文,消息原文的长度(Base64编码前的长度)不超过4096字节。
:type Message: str
"""
self._KeyId = None
self._SignatureValue = None
self._Message = None
@property
def KeyId(self):
"""密钥的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def SignatureValue(self):
"""签名值,通过调用KMS PostQuantumCryptoSign签名接口生成
:rtype: str
"""
return self._SignatureValue
@SignatureValue.setter
def SignatureValue(self, SignatureValue):
self._SignatureValue = SignatureValue
@property
def Message(self):
"""Base64 编码的消息原文,消息原文的长度(Base64编码前的长度)不超过4096字节。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._SignatureValue = params.get("SignatureValue")
self._Message = params.get("Message")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostQuantumCryptoVerifyResponse(AbstractModel):
"""PostQuantumCryptoVerify返回参数结构体
"""
def __init__(self):
r"""
:param _SignatureValid: 签名是否有效。true:签名有效,false:签名无效。
:type SignatureValid: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SignatureValid = None
self._RequestId = None
@property
def SignatureValid(self):
"""签名是否有效。true:签名有效,false:签名无效。
:rtype: bool
"""
return self._SignatureValid
@SignatureValid.setter
def SignatureValid(self, SignatureValid):
self._SignatureValid = SignatureValid
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._SignatureValid = params.get("SignatureValid")
self._RequestId = params.get("RequestId")
class ReEncryptRequest(AbstractModel):
"""ReEncrypt请求参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 需要重新加密的密文
:type CiphertextBlob: str
:param _DestinationKeyId: 重新加密使用的CMK,如果为空,则使用密文原有的CMK重新加密(若密钥没有轮换则密文不会刷新)
:type DestinationKeyId: str
:param _SourceEncryptionContext: CiphertextBlob 密文加密时使用的key/value对的json字符串。如果加密时未使用,则为空
:type SourceEncryptionContext: str
:param _DestinationEncryptionContext: 重新加密使用的key/value对的json字符串,如果使用该字段,则返回的新密文在解密时需要填入相同的字符串
:type DestinationEncryptionContext: str
"""
self._CiphertextBlob = None
self._DestinationKeyId = None
self._SourceEncryptionContext = None
self._DestinationEncryptionContext = None
@property
def CiphertextBlob(self):
"""需要重新加密的密文
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def DestinationKeyId(self):
"""重新加密使用的CMK,如果为空,则使用密文原有的CMK重新加密(若密钥没有轮换则密文不会刷新)
:rtype: str
"""
return self._DestinationKeyId
@DestinationKeyId.setter
def DestinationKeyId(self, DestinationKeyId):
self._DestinationKeyId = DestinationKeyId
@property
def SourceEncryptionContext(self):
"""CiphertextBlob 密文加密时使用的key/value对的json字符串。如果加密时未使用,则为空
:rtype: str
"""
return self._SourceEncryptionContext
@SourceEncryptionContext.setter
def SourceEncryptionContext(self, SourceEncryptionContext):
self._SourceEncryptionContext = SourceEncryptionContext
@property
def DestinationEncryptionContext(self):
"""重新加密使用的key/value对的json字符串,如果使用该字段,则返回的新密文在解密时需要填入相同的字符串
:rtype: str
"""
return self._DestinationEncryptionContext
@DestinationEncryptionContext.setter
def DestinationEncryptionContext(self, DestinationEncryptionContext):
self._DestinationEncryptionContext = DestinationEncryptionContext
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._DestinationKeyId = params.get("DestinationKeyId")
self._SourceEncryptionContext = params.get("SourceEncryptionContext")
self._DestinationEncryptionContext = params.get("DestinationEncryptionContext")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ReEncryptResponse(AbstractModel):
"""ReEncrypt返回参数结构体
"""
def __init__(self):
r"""
:param _CiphertextBlob: 重新加密后的密文
:type CiphertextBlob: str
:param _KeyId: 重新加密使用的CMK
:type KeyId: str
:param _SourceKeyId: 重新加密前密文使用的CMK
:type SourceKeyId: str
:param _ReEncrypted: true表示密文已经重新加密。同一个CMK进行重加密,在密钥没有发生轮换的情况下不会进行实际重新加密操作,返回原密文
:type ReEncrypted: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CiphertextBlob = None
self._KeyId = None
self._SourceKeyId = None
self._ReEncrypted = None
self._RequestId = None
@property
def CiphertextBlob(self):
"""重新加密后的密文
:rtype: str
"""
return self._CiphertextBlob
@CiphertextBlob.setter
def CiphertextBlob(self, CiphertextBlob):
self._CiphertextBlob = CiphertextBlob
@property
def KeyId(self):
"""重新加密使用的CMK
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def SourceKeyId(self):
"""重新加密前密文使用的CMK
:rtype: str
"""
return self._SourceKeyId
@SourceKeyId.setter
def SourceKeyId(self, SourceKeyId):
self._SourceKeyId = SourceKeyId
@property
def ReEncrypted(self):
"""true表示密文已经重新加密。同一个CMK进行重加密,在密钥没有发生轮换的情况下不会进行实际重新加密操作,返回原密文
:rtype: bool
"""
return self._ReEncrypted
@ReEncrypted.setter
def ReEncrypted(self, ReEncrypted):
self._ReEncrypted = ReEncrypted
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._CiphertextBlob = params.get("CiphertextBlob")
self._KeyId = params.get("KeyId")
self._SourceKeyId = params.get("SourceKeyId")
self._ReEncrypted = params.get("ReEncrypted")
self._RequestId = params.get("RequestId")
class ScheduleKeyDeletionRequest(AbstractModel):
"""ScheduleKeyDeletion请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: CMK的唯一标志
:type KeyId: str
:param _PendingWindowInDays: 计划删除时间区间[7,30]
:type PendingWindowInDays: int
"""
self._KeyId = None
self._PendingWindowInDays = None
@property
def KeyId(self):
"""CMK的唯一标志
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def PendingWindowInDays(self):
"""计划删除时间区间[7,30]
:rtype: int
"""
return self._PendingWindowInDays
@PendingWindowInDays.setter
def PendingWindowInDays(self, PendingWindowInDays):
self._PendingWindowInDays = PendingWindowInDays
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._PendingWindowInDays = params.get("PendingWindowInDays")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ScheduleKeyDeletionResponse(AbstractModel):
"""ScheduleKeyDeletion返回参数结构体
"""
def __init__(self):
r"""
:param _DeletionDate: 计划删除执行时间
:type DeletionDate: int
:param _KeyId: 唯一标志被计划删除的CMK
:type KeyId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DeletionDate = None
self._KeyId = None
self._RequestId = None
@property
def DeletionDate(self):
"""计划删除执行时间
:rtype: int
"""
return self._DeletionDate
@DeletionDate.setter
def DeletionDate(self, DeletionDate):
self._DeletionDate = DeletionDate
@property
def KeyId(self):
"""唯一标志被计划删除的CMK
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._DeletionDate = params.get("DeletionDate")
self._KeyId = params.get("KeyId")
self._RequestId = params.get("RequestId")
class SignByAsymmetricKeyRequest(AbstractModel):
"""SignByAsymmetricKey请求参数结构体
"""
def __init__(self):
r"""
:param _Algorithm: 签名算法,支持的算法:SM2DSA,ECC_P256_R1,RSA_PSS_SHA_256,RSA_PKCS1_SHA_256 等。更多支持的算法可通过 ListAlgorithms 接口进行查询。
:type Algorithm: str
:param _Message: 消息原文或消息摘要。如果提供的是消息原文,则消息原文的长度(Base64编码前的长度)不超过4096字节。如果提供的是消息摘要,消息摘要长度(Base64编码前的长度)必须等于32字节
:type Message: str
:param _KeyId: 密钥的唯一标识
:type KeyId: str
:param _MessageType: 消息类型:RAW,DIGEST,如果不传,默认为RAW,表示消息原文。
:type MessageType: str
"""
self._Algorithm = None
self._Message = None
self._KeyId = None
self._MessageType = None
@property
def Algorithm(self):
"""签名算法,支持的算法:SM2DSA,ECC_P256_R1,RSA_PSS_SHA_256,RSA_PKCS1_SHA_256 等。更多支持的算法可通过 ListAlgorithms 接口进行查询。
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
@property
def Message(self):
"""消息原文或消息摘要。如果提供的是消息原文,则消息原文的长度(Base64编码前的长度)不超过4096字节。如果提供的是消息摘要,消息摘要长度(Base64编码前的长度)必须等于32字节
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def KeyId(self):
"""密钥的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def MessageType(self):
"""消息类型:RAW,DIGEST,如果不传,默认为RAW,表示消息原文。
:rtype: str
"""
return self._MessageType
@MessageType.setter
def MessageType(self, MessageType):
self._MessageType = MessageType
def _deserialize(self, params):
self._Algorithm = params.get("Algorithm")
self._Message = params.get("Message")
self._KeyId = params.get("KeyId")
self._MessageType = params.get("MessageType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SignByAsymmetricKeyResponse(AbstractModel):
"""SignByAsymmetricKey返回参数结构体
"""
def __init__(self):
r"""
:param _Signature: 签名,Base64编码
:type Signature: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Signature = None
self._RequestId = None
@property
def Signature(self):
"""签名,Base64编码
:rtype: str
"""
return self._Signature
@Signature.setter
def Signature(self, Signature):
self._Signature = Signature
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Signature = params.get("Signature")
self._RequestId = params.get("RequestId")
class Tag(AbstractModel):
"""标签键和标签值
"""
def __init__(self):
r"""
:param _TagKey: 标签键
:type TagKey: str
:param _TagValue: 标签值
:type TagValue: str
"""
self._TagKey = None
self._TagValue = None
@property
def TagKey(self):
"""标签键
:rtype: str
"""
return self._TagKey
@TagKey.setter
def TagKey(self, TagKey):
self._TagKey = TagKey
@property
def TagValue(self):
"""标签值
:rtype: str
"""
return self._TagValue
@TagValue.setter
def TagValue(self, TagValue):
self._TagValue = TagValue
def _deserialize(self, params):
self._TagKey = params.get("TagKey")
self._TagValue = params.get("TagValue")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TagFilter(AbstractModel):
"""标签过滤器
"""
def __init__(self):
r"""
:param _TagKey: 标签键
:type TagKey: str
:param _TagValue: 标签值
:type TagValue: list of str
"""
self._TagKey = None
self._TagValue = None
@property
def TagKey(self):
"""标签键
:rtype: str
"""
return self._TagKey
@TagKey.setter
def TagKey(self, TagKey):
self._TagKey = TagKey
@property
def TagValue(self):
"""标签值
:rtype: list of str
"""
return self._TagValue
@TagValue.setter
def TagValue(self, TagValue):
self._TagValue = TagValue
def _deserialize(self, params):
self._TagKey = params.get("TagKey")
self._TagValue = params.get("TagValue")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UnbindCloudResourceRequest(AbstractModel):
"""UnbindCloudResource请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: cmk的ID
:type KeyId: str
:param _ProductId: 云产品的唯一性标识符
:type ProductId: str
:param _ResourceId: 资源/实例ID,由调用方根据自己的云产品特征来定义,以字符串形式做存储。
:type ResourceId: str
"""
self._KeyId = None
self._ProductId = None
self._ResourceId = None
@property
def KeyId(self):
"""cmk的ID
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def ProductId(self):
"""云产品的唯一性标识符
:rtype: str
"""
return self._ProductId
@ProductId.setter
def ProductId(self, ProductId):
self._ProductId = ProductId
@property
def ResourceId(self):
"""资源/实例ID,由调用方根据自己的云产品特征来定义,以字符串形式做存储。
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._ProductId = params.get("ProductId")
self._ResourceId = params.get("ResourceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UnbindCloudResourceResponse(AbstractModel):
"""UnbindCloudResource返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class UpdateAliasRequest(AbstractModel):
"""UpdateAlias请求参数结构体
"""
def __init__(self):
r"""
:param _Alias: 新的别名,1-60个字符或数字的组合
:type Alias: str
:param _KeyId: CMK的全局唯一标识符
:type KeyId: str
"""
self._Alias = None
self._KeyId = None
@property
def Alias(self):
"""新的别名,1-60个字符或数字的组合
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def KeyId(self):
"""CMK的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._Alias = params.get("Alias")
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpdateAliasResponse(AbstractModel):
"""UpdateAlias返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class UpdateKeyDescriptionRequest(AbstractModel):
"""UpdateKeyDescription请求参数结构体
"""
def __init__(self):
r"""
:param _Description: 新的描述信息,最大支持1024字节
:type Description: str
:param _KeyId: 需要修改描述信息的CMK ID
:type KeyId: str
"""
self._Description = None
self._KeyId = None
@property
def Description(self):
"""新的描述信息,最大支持1024字节
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def KeyId(self):
"""需要修改描述信息的CMK ID
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
def _deserialize(self, params):
self._Description = params.get("Description")
self._KeyId = params.get("KeyId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpdateKeyDescriptionResponse(AbstractModel):
"""UpdateKeyDescription返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class VerifyByAsymmetricKeyRequest(AbstractModel):
"""VerifyByAsymmetricKey请求参数结构体
"""
def __init__(self):
r"""
:param _KeyId: 密钥的唯一标识
:type KeyId: str
:param _SignatureValue: 签名值,通过调用KMS签名接口生成
:type SignatureValue: str
:param _Message: 消息原文或消息摘要。如果提供的是消息原文,则消息原文的长度(Base64编码前的长度)不超过4096字节。如果提供的是消息摘要,则消息摘要长度(Base64编码前的长度)必须等于32字节
:type Message: str
:param _Algorithm: 签名算法,支持的算法:SM2DSA,ECC_P256_R1,RSA_PSS_SHA_256,RSA_PKCS1_SHA_256 等。更多支持的算法可通过 ListAlgorithms 接口进行查询。
:type Algorithm: str
:param _MessageType: 消息类型:RAW,DIGEST,如果不传,默认为RAW,表示消息原文。
:type MessageType: str
"""
self._KeyId = None
self._SignatureValue = None
self._Message = None
self._Algorithm = None
self._MessageType = None
@property
def KeyId(self):
"""密钥的唯一标识
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def SignatureValue(self):
"""签名值,通过调用KMS签名接口生成
:rtype: str
"""
return self._SignatureValue
@SignatureValue.setter
def SignatureValue(self, SignatureValue):
self._SignatureValue = SignatureValue
@property
def Message(self):
"""消息原文或消息摘要。如果提供的是消息原文,则消息原文的长度(Base64编码前的长度)不超过4096字节。如果提供的是消息摘要,则消息摘要长度(Base64编码前的长度)必须等于32字节
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Algorithm(self):
"""签名算法,支持的算法:SM2DSA,ECC_P256_R1,RSA_PSS_SHA_256,RSA_PKCS1_SHA_256 等。更多支持的算法可通过 ListAlgorithms 接口进行查询。
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
@property
def MessageType(self):
"""消息类型:RAW,DIGEST,如果不传,默认为RAW,表示消息原文。
:rtype: str
"""
return self._MessageType
@MessageType.setter
def MessageType(self, MessageType):
self._MessageType = MessageType
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._SignatureValue = params.get("SignatureValue")
self._Message = params.get("Message")
self._Algorithm = params.get("Algorithm")
self._MessageType = params.get("MessageType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class VerifyByAsymmetricKeyResponse(AbstractModel):
"""VerifyByAsymmetricKey返回参数结构体
"""
def __init__(self):
r"""
:param _SignatureValid: 签名是否有效。true:签名有效,false:签名无效。
:type SignatureValid: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SignatureValid = None
self._RequestId = None
@property
def SignatureValid(self):
"""签名是否有效。true:签名有效,false:签名无效。
:rtype: bool
"""
return self._SignatureValid
@SignatureValid.setter
def SignatureValid(self, SignatureValid):
self._SignatureValid = SignatureValid
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._SignatureValid = params.get("SignatureValid")
self._RequestId = params.get("RequestId")
class WhiteboxKeyInfo(AbstractModel):
"""白盒密钥信息
"""
def __init__(self):
r"""
:param _KeyId: 白盒密钥的全局唯一标识符
:type KeyId: str
:param _Alias: 作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字. 不可重复
:type Alias: str
:param _CreatorUin: 创建者
:type CreatorUin: int
:param _Description: 密钥的描述信息
:type Description: str
:param _CreateTime: 密钥创建时间,Unix时间戳
:type CreateTime: int
:param _Status: 白盒密钥的状态, 取值为:Enabled | Disabled
:type Status: str
:param _OwnerUin: 创建者
:type OwnerUin: int
:param _Algorithm: 密钥所用的算法类型
:type Algorithm: str
:param _EncryptKey: 白盒加密密钥,base64编码
:type EncryptKey: str
:param _DecryptKey: 白盒解密密钥,base64编码
:type DecryptKey: str
:param _ResourceId: 资源ID,格式:creatorUin/$creatorUin/$keyId
:type ResourceId: str
:param _DeviceFingerprintBind: 是否有设备指纹与当前密钥绑定
:type DeviceFingerprintBind: bool
"""
self._KeyId = None
self._Alias = None
self._CreatorUin = None
self._Description = None
self._CreateTime = None
self._Status = None
self._OwnerUin = None
self._Algorithm = None
self._EncryptKey = None
self._DecryptKey = None
self._ResourceId = None
self._DeviceFingerprintBind = None
@property
def KeyId(self):
"""白盒密钥的全局唯一标识符
:rtype: str
"""
return self._KeyId
@KeyId.setter
def KeyId(self, KeyId):
self._KeyId = KeyId
@property
def Alias(self):
"""作为密钥更容易辨识,更容易被人看懂的别名, 不可为空,1-60个字母数字 - _ 的组合,首字符必须为字母或者数字. 不可重复
:rtype: str
"""
return self._Alias
@Alias.setter
def Alias(self, Alias):
self._Alias = Alias
@property
def CreatorUin(self):
"""创建者
:rtype: int
"""
return self._CreatorUin
@CreatorUin.setter
def CreatorUin(self, CreatorUin):
self._CreatorUin = CreatorUin
@property
def Description(self):
"""密钥的描述信息
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def CreateTime(self):
"""密钥创建时间,Unix时间戳
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Status(self):
"""白盒密钥的状态, 取值为:Enabled | Disabled
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def OwnerUin(self):
"""创建者
:rtype: int
"""
return self._OwnerUin
@OwnerUin.setter
def OwnerUin(self, OwnerUin):
self._OwnerUin = OwnerUin
@property
def Algorithm(self):
"""密钥所用的算法类型
:rtype: str
"""
return self._Algorithm
@Algorithm.setter
def Algorithm(self, Algorithm):
self._Algorithm = Algorithm
@property
def EncryptKey(self):
"""白盒加密密钥,base64编码
:rtype: str
"""
return self._EncryptKey
@EncryptKey.setter
def EncryptKey(self, EncryptKey):
self._EncryptKey = EncryptKey
@property
def DecryptKey(self):
"""白盒解密密钥,base64编码
:rtype: str
"""
return self._DecryptKey
@DecryptKey.setter
def DecryptKey(self, DecryptKey):
self._DecryptKey = DecryptKey
@property
def ResourceId(self):
"""资源ID,格式:creatorUin/$creatorUin/$keyId
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
@property
def DeviceFingerprintBind(self):
"""是否有设备指纹与当前密钥绑定
:rtype: bool
"""
return self._DeviceFingerprintBind
@DeviceFingerprintBind.setter
def DeviceFingerprintBind(self, DeviceFingerprintBind):
self._DeviceFingerprintBind = DeviceFingerprintBind
def _deserialize(self, params):
self._KeyId = params.get("KeyId")
self._Alias = params.get("Alias")
self._CreatorUin = params.get("CreatorUin")
self._Description = params.get("Description")
self._CreateTime = params.get("CreateTime")
self._Status = params.get("Status")
self._OwnerUin = params.get("OwnerUin")
self._Algorithm = params.get("Algorithm")
self._EncryptKey = params.get("EncryptKey")
self._DecryptKey = params.get("DecryptKey")
self._ResourceId = params.get("ResourceId")
self._DeviceFingerprintBind = params.get("DeviceFingerprintBind")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))