1 Star 16 Fork 2

tencentcloud/tencentcloud-sdk-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
kms_client.py 49.86 KB
一键复制 编辑 原始数据 按行查看 历史
tencentcloud 提交于 2023-07-19 08:15 . release 3.0.938
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247
# -*- 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 json
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.common.abstract_client import AbstractClient
from tencentcloud.kms.v20190118 import models
class KmsClient(AbstractClient):
_apiVersion = '2019-01-18'
_endpoint = 'kms.tencentcloudapi.com'
_service = 'kms'
def ArchiveKey(self, request):
"""对密钥进行归档,被归档的密钥只能用于解密,不能加密
:param request: Request instance for ArchiveKey.
:type request: :class:`tencentcloud.kms.v20190118.models.ArchiveKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ArchiveKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ArchiveKey", params, headers=headers)
response = json.loads(body)
model = models.ArchiveKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def AsymmetricRsaDecrypt(self, request):
"""使用指定的RSA非对称密钥的私钥进行数据解密,密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。
:param request: Request instance for AsymmetricRsaDecrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.AsymmetricRsaDecryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.AsymmetricRsaDecryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("AsymmetricRsaDecrypt", params, headers=headers)
response = json.loads(body)
model = models.AsymmetricRsaDecryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def AsymmetricSm2Decrypt(self, request):
"""使用指定的SM2非对称密钥的私钥进行数据解密,密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。传入的密文的长度不能超过256字节。
:param request: Request instance for AsymmetricSm2Decrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.AsymmetricSm2DecryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.AsymmetricSm2DecryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("AsymmetricSm2Decrypt", params, headers=headers)
response = json.loads(body)
model = models.AsymmetricSm2DecryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def BindCloudResource(self, request):
"""记录当前key被哪个云产品的那个资源所使用。如果当前key设置了自动过期,则取消该设置,确保当前key不会自动失效。如果当前关联关系已经创建,也返回成功。
:param request: Request instance for BindCloudResource.
:type request: :class:`tencentcloud.kms.v20190118.models.BindCloudResourceRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.BindCloudResourceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("BindCloudResource", params, headers=headers)
response = json.loads(body)
model = models.BindCloudResourceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CancelKeyArchive(self, request):
"""取消密钥归档,取消后密钥的状态变为Enabled。
:param request: Request instance for CancelKeyArchive.
:type request: :class:`tencentcloud.kms.v20190118.models.CancelKeyArchiveRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.CancelKeyArchiveResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CancelKeyArchive", params, headers=headers)
response = json.loads(body)
model = models.CancelKeyArchiveResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CancelKeyDeletion(self, request):
"""取消CMK的计划删除操作
:param request: Request instance for CancelKeyDeletion.
:type request: :class:`tencentcloud.kms.v20190118.models.CancelKeyDeletionRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.CancelKeyDeletionResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CancelKeyDeletion", params, headers=headers)
response = json.loads(body)
model = models.CancelKeyDeletionResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateKey(self, request):
"""创建用户管理数据密钥的主密钥CMK(Custom Master Key)。
:param request: Request instance for CreateKey.
:type request: :class:`tencentcloud.kms.v20190118.models.CreateKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.CreateKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateKey", params, headers=headers)
response = json.loads(body)
model = models.CreateKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateWhiteBoxKey(self, request):
"""创建白盒密钥。 密钥个数的上限为 50。
:param request: Request instance for CreateWhiteBoxKey.
:type request: :class:`tencentcloud.kms.v20190118.models.CreateWhiteBoxKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.CreateWhiteBoxKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateWhiteBoxKey", params, headers=headers)
response = json.loads(body)
model = models.CreateWhiteBoxKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def Decrypt(self, request):
"""本接口用于解密密文,得到明文数据。
:param request: Request instance for Decrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.DecryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DecryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("Decrypt", params, headers=headers)
response = json.loads(body)
model = models.DecryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteImportedKeyMaterial(self, request):
"""用于删除导入的密钥材料,仅对EXTERNAL类型的CMK有效,该接口将CMK设置为PendingImport 状态,并不会删除CMK,在重新进行密钥导入后可继续使用。彻底删除CMK请使用 ScheduleKeyDeletion 接口。
:param request: Request instance for DeleteImportedKeyMaterial.
:type request: :class:`tencentcloud.kms.v20190118.models.DeleteImportedKeyMaterialRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DeleteImportedKeyMaterialResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteImportedKeyMaterial", params, headers=headers)
response = json.loads(body)
model = models.DeleteImportedKeyMaterialResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteWhiteBoxKey(self, request):
"""删除白盒密钥, 注意:必须先禁用后,才可以删除。
:param request: Request instance for DeleteWhiteBoxKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DeleteWhiteBoxKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DeleteWhiteBoxKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteWhiteBoxKey", params, headers=headers)
response = json.loads(body)
model = models.DeleteWhiteBoxKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeKey(self, request):
"""用于获取指定KeyId的主密钥属性详情信息。
:param request: Request instance for DescribeKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeKey", params, headers=headers)
response = json.loads(body)
model = models.DescribeKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeKeys(self, request):
"""该接口用于批量获取主密钥属性信息。
:param request: Request instance for DescribeKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeKeys", params, headers=headers)
response = json.loads(body)
model = models.DescribeKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeWhiteBoxDecryptKey(self, request):
"""获取白盒解密密钥
:param request: Request instance for DescribeWhiteBoxDecryptKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxDecryptKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxDecryptKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeWhiteBoxDecryptKey", params, headers=headers)
response = json.loads(body)
model = models.DescribeWhiteBoxDecryptKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeWhiteBoxDeviceFingerprints(self, request):
"""获取指定密钥的设备指纹列表
:param request: Request instance for DescribeWhiteBoxDeviceFingerprints.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxDeviceFingerprintsRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxDeviceFingerprintsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeWhiteBoxDeviceFingerprints", params, headers=headers)
response = json.loads(body)
model = models.DescribeWhiteBoxDeviceFingerprintsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeWhiteBoxKey(self, request):
"""展示白盒密钥的信息
:param request: Request instance for DescribeWhiteBoxKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeWhiteBoxKey", params, headers=headers)
response = json.loads(body)
model = models.DescribeWhiteBoxKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeWhiteBoxKeyDetails(self, request):
"""获取白盒密钥列表
:param request: Request instance for DescribeWhiteBoxKeyDetails.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxKeyDetailsRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxKeyDetailsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeWhiteBoxKeyDetails", params, headers=headers)
response = json.loads(body)
model = models.DescribeWhiteBoxKeyDetailsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeWhiteBoxServiceStatus(self, request):
"""获取白盒密钥服务状态
:param request: Request instance for DescribeWhiteBoxServiceStatus.
:type request: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxServiceStatusRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DescribeWhiteBoxServiceStatusResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeWhiteBoxServiceStatus", params, headers=headers)
response = json.loads(body)
model = models.DescribeWhiteBoxServiceStatusResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableKey(self, request):
"""本接口用于禁用一个主密钥,处于禁用状态的Key无法用于加密、解密操作。
:param request: Request instance for DisableKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DisableKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DisableKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableKey", params, headers=headers)
response = json.loads(body)
model = models.DisableKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableKeyRotation(self, request):
"""对指定的CMK禁止密钥轮换功能。
:param request: Request instance for DisableKeyRotation.
:type request: :class:`tencentcloud.kms.v20190118.models.DisableKeyRotationRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DisableKeyRotationResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableKeyRotation", params, headers=headers)
response = json.loads(body)
model = models.DisableKeyRotationResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableKeys(self, request):
"""该接口用于批量禁止CMK的使用。
:param request: Request instance for DisableKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.DisableKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DisableKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableKeys", params, headers=headers)
response = json.loads(body)
model = models.DisableKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableWhiteBoxKey(self, request):
"""禁用白盒密钥
:param request: Request instance for DisableWhiteBoxKey.
:type request: :class:`tencentcloud.kms.v20190118.models.DisableWhiteBoxKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DisableWhiteBoxKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableWhiteBoxKey", params, headers=headers)
response = json.loads(body)
model = models.DisableWhiteBoxKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableWhiteBoxKeys(self, request):
"""批量禁用白盒密钥
:param request: Request instance for DisableWhiteBoxKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.DisableWhiteBoxKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.DisableWhiteBoxKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableWhiteBoxKeys", params, headers=headers)
response = json.loads(body)
model = models.DisableWhiteBoxKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableKey(self, request):
"""用于启用一个指定的CMK。
:param request: Request instance for EnableKey.
:type request: :class:`tencentcloud.kms.v20190118.models.EnableKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EnableKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableKey", params, headers=headers)
response = json.loads(body)
model = models.EnableKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableKeyRotation(self, request):
"""对指定的CMK开启密钥轮换功能。
:param request: Request instance for EnableKeyRotation.
:type request: :class:`tencentcloud.kms.v20190118.models.EnableKeyRotationRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EnableKeyRotationResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableKeyRotation", params, headers=headers)
response = json.loads(body)
model = models.EnableKeyRotationResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableKeys(self, request):
"""该接口用于批量启用CMK。
:param request: Request instance for EnableKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.EnableKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EnableKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableKeys", params, headers=headers)
response = json.loads(body)
model = models.EnableKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableWhiteBoxKey(self, request):
"""启用白盒密钥
:param request: Request instance for EnableWhiteBoxKey.
:type request: :class:`tencentcloud.kms.v20190118.models.EnableWhiteBoxKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EnableWhiteBoxKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableWhiteBoxKey", params, headers=headers)
response = json.loads(body)
model = models.EnableWhiteBoxKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableWhiteBoxKeys(self, request):
"""批量启用白盒密钥
:param request: Request instance for EnableWhiteBoxKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.EnableWhiteBoxKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EnableWhiteBoxKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableWhiteBoxKeys", params, headers=headers)
response = json.loads(body)
model = models.EnableWhiteBoxKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def Encrypt(self, request):
"""本接口用于加密最多为4KB任意数据,可用于加密数据库密码,RSA Key,或其它较小的敏感信息。对于应用的数据加密,使用GenerateDataKey生成的DataKey进行本地数据的加解密操作
:param request: Request instance for Encrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.EncryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EncryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("Encrypt", params, headers=headers)
response = json.loads(body)
model = models.EncryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EncryptByWhiteBox(self, request):
"""使用白盒密钥进行加密
:param request: Request instance for EncryptByWhiteBox.
:type request: :class:`tencentcloud.kms.v20190118.models.EncryptByWhiteBoxRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.EncryptByWhiteBoxResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EncryptByWhiteBox", params, headers=headers)
response = json.loads(body)
model = models.EncryptByWhiteBoxResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GenerateDataKey(self, request):
"""本接口生成一个数据密钥,您可以用这个密钥进行本地数据的加密。
:param request: Request instance for GenerateDataKey.
:type request: :class:`tencentcloud.kms.v20190118.models.GenerateDataKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GenerateDataKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GenerateDataKey", params, headers=headers)
response = json.loads(body)
model = models.GenerateDataKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GenerateRandom(self, request):
"""随机数生成接口。
:param request: Request instance for GenerateRandom.
:type request: :class:`tencentcloud.kms.v20190118.models.GenerateRandomRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GenerateRandomResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GenerateRandom", params, headers=headers)
response = json.loads(body)
model = models.GenerateRandomResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GetKeyRotationStatus(self, request):
"""查询指定的CMK是否开启了密钥轮换功能。
:param request: Request instance for GetKeyRotationStatus.
:type request: :class:`tencentcloud.kms.v20190118.models.GetKeyRotationStatusRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GetKeyRotationStatusResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GetKeyRotationStatus", params, headers=headers)
response = json.loads(body)
model = models.GetKeyRotationStatusResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GetParametersForImport(self, request):
"""获取导入主密钥(CMK)材料的参数,返回的Token作为执行ImportKeyMaterial的参数之一,返回的PublicKey用于对自主导入密钥材料进行加密。返回的Token和PublicKey 24小时后失效,失效后如需重新导入,需要再次调用该接口获取新的Token和PublicKey。
:param request: Request instance for GetParametersForImport.
:type request: :class:`tencentcloud.kms.v20190118.models.GetParametersForImportRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GetParametersForImportResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GetParametersForImport", params, headers=headers)
response = json.loads(body)
model = models.GetParametersForImportResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GetPublicKey(self, request):
"""该接口用于获取非对称密钥的公钥信息,可用于本地数据加密或验签。只有处于Enabled状态的非对称密钥才可能获取公钥。
:param request: Request instance for GetPublicKey.
:type request: :class:`tencentcloud.kms.v20190118.models.GetPublicKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GetPublicKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GetPublicKey", params, headers=headers)
response = json.loads(body)
model = models.GetPublicKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GetRegions(self, request):
"""获取可以提供KMS服务的地域列表
:param request: Request instance for GetRegions.
:type request: :class:`tencentcloud.kms.v20190118.models.GetRegionsRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GetRegionsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GetRegions", params, headers=headers)
response = json.loads(body)
model = models.GetRegionsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def GetServiceStatus(self, request):
"""用于查询该用户是否已开通KMS服务
:param request: Request instance for GetServiceStatus.
:type request: :class:`tencentcloud.kms.v20190118.models.GetServiceStatusRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.GetServiceStatusResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("GetServiceStatus", params, headers=headers)
response = json.loads(body)
model = models.GetServiceStatusResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ImportKeyMaterial(self, request):
"""用于导入密钥材料。只有类型为EXTERNAL 的CMK 才可以导入,导入的密钥材料使用 GetParametersForImport 获取的密钥进行加密。可以为指定的 CMK 重新导入密钥材料,并重新指定过期时间,但必须导入相同的密钥材料。CMK 密钥材料导入后不可以更换密钥材料。导入的密钥材料过期或者被删除后,指定的CMK将无法使用,需要再次导入相同的密钥材料才能正常使用。CMK是独立的,同样的密钥材料可导入不同的 CMK 中,但使用其中一个 CMK 加密的数据无法使用另一个 CMK解密。
只有Enabled 和 PendingImport状态的CMK可以导入密钥材料。
:param request: Request instance for ImportKeyMaterial.
:type request: :class:`tencentcloud.kms.v20190118.models.ImportKeyMaterialRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ImportKeyMaterialResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ImportKeyMaterial", params, headers=headers)
response = json.loads(body)
model = models.ImportKeyMaterialResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ListAlgorithms(self, request):
"""列出当前Region支持的加密方式
:param request: Request instance for ListAlgorithms.
:type request: :class:`tencentcloud.kms.v20190118.models.ListAlgorithmsRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ListAlgorithmsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ListAlgorithms", params, headers=headers)
response = json.loads(body)
model = models.ListAlgorithmsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ListKeyDetail(self, request):
"""根据指定Offset和Limit获取主密钥列表详情。
:param request: Request instance for ListKeyDetail.
:type request: :class:`tencentcloud.kms.v20190118.models.ListKeyDetailRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ListKeyDetailResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ListKeyDetail", params, headers=headers)
response = json.loads(body)
model = models.ListKeyDetailResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ListKeys(self, request):
"""列出账号下面状态为Enabled, Disabled 和 PendingImport 的CMK KeyId 列表
:param request: Request instance for ListKeys.
:type request: :class:`tencentcloud.kms.v20190118.models.ListKeysRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ListKeysResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ListKeys", params, headers=headers)
response = json.loads(body)
model = models.ListKeysResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def OverwriteWhiteBoxDeviceFingerprints(self, request):
"""覆盖指定密钥的设备指纹信息
:param request: Request instance for OverwriteWhiteBoxDeviceFingerprints.
:type request: :class:`tencentcloud.kms.v20190118.models.OverwriteWhiteBoxDeviceFingerprintsRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.OverwriteWhiteBoxDeviceFingerprintsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("OverwriteWhiteBoxDeviceFingerprints", params, headers=headers)
response = json.loads(body)
model = models.OverwriteWhiteBoxDeviceFingerprintsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def PostQuantumCryptoDecrypt(self, request):
"""本接口使用后量子密码算法密钥,解密密文,并得到明文数据。
:param request: Request instance for PostQuantumCryptoDecrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoDecryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoDecryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("PostQuantumCryptoDecrypt", params, headers=headers)
response = json.loads(body)
model = models.PostQuantumCryptoDecryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def PostQuantumCryptoEncrypt(self, request):
"""本接口使用后量子密码算法密钥,可加密最多为4KB任意数据,可用于加密数据库密码,RSA Key,或其它较小的敏感信息。对于应用的数据加密,使用GenerateDataKey生成的DataKey进行本地数据的加解密操作。
:param request: Request instance for PostQuantumCryptoEncrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoEncryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoEncryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("PostQuantumCryptoEncrypt", params, headers=headers)
response = json.loads(body)
model = models.PostQuantumCryptoEncryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def PostQuantumCryptoSign(self, request):
"""使用后量子密码算法签名验签密钥进行签名。
:param request: Request instance for PostQuantumCryptoSign.
:type request: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoSignRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoSignResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("PostQuantumCryptoSign", params, headers=headers)
response = json.loads(body)
model = models.PostQuantumCryptoSignResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def PostQuantumCryptoVerify(self, request):
"""使用后量子密码算法密钥对签名进行验证。
:param request: Request instance for PostQuantumCryptoVerify.
:type request: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoVerifyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.PostQuantumCryptoVerifyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("PostQuantumCryptoVerify", params, headers=headers)
response = json.loads(body)
model = models.PostQuantumCryptoVerifyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ReEncrypt(self, request):
"""使用指定CMK对密文重新加密。
:param request: Request instance for ReEncrypt.
:type request: :class:`tencentcloud.kms.v20190118.models.ReEncryptRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ReEncryptResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ReEncrypt", params, headers=headers)
response = json.loads(body)
model = models.ReEncryptResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ScheduleKeyDeletion(self, request):
"""CMK计划删除接口,用于指定CMK删除的时间,可选时间区间为[7,30]天
:param request: Request instance for ScheduleKeyDeletion.
:type request: :class:`tencentcloud.kms.v20190118.models.ScheduleKeyDeletionRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.ScheduleKeyDeletionResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ScheduleKeyDeletion", params, headers=headers)
response = json.loads(body)
model = models.ScheduleKeyDeletionResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def SignByAsymmetricKey(self, request):
"""非对称密钥签名。
注意:只有 KeyUsage 为 ASYMMETRIC_SIGN_VERIFY_SM2、ASYMMETRIC_SIGN_VERIFY_ECC 或其他支持的 ASYMMETRIC_SIGN_VERIFY_${ALGORITHM} 的密钥才可以使用签名功能。
:param request: Request instance for SignByAsymmetricKey.
:type request: :class:`tencentcloud.kms.v20190118.models.SignByAsymmetricKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.SignByAsymmetricKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("SignByAsymmetricKey", params, headers=headers)
response = json.loads(body)
model = models.SignByAsymmetricKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def UnbindCloudResource(self, request):
"""删除指定(key, 资源,云产品)的记录,以表明:指定的云产品的资源已不再使用当前的key。
:param request: Request instance for UnbindCloudResource.
:type request: :class:`tencentcloud.kms.v20190118.models.UnbindCloudResourceRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.UnbindCloudResourceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("UnbindCloudResource", params, headers=headers)
response = json.loads(body)
model = models.UnbindCloudResourceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def UpdateAlias(self, request):
"""用于修改CMK的别名。对于处于PendingDelete状态的CMK禁止修改。
:param request: Request instance for UpdateAlias.
:type request: :class:`tencentcloud.kms.v20190118.models.UpdateAliasRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.UpdateAliasResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("UpdateAlias", params, headers=headers)
response = json.loads(body)
model = models.UpdateAliasResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def UpdateKeyDescription(self, request):
"""该接口用于对指定的cmk修改描述信息。对于处于PendingDelete状态的CMK禁止修改。
:param request: Request instance for UpdateKeyDescription.
:type request: :class:`tencentcloud.kms.v20190118.models.UpdateKeyDescriptionRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.UpdateKeyDescriptionResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("UpdateKeyDescription", params, headers=headers)
response = json.loads(body)
model = models.UpdateKeyDescriptionResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def VerifyByAsymmetricKey(self, request):
"""使用非对称密钥验签
:param request: Request instance for VerifyByAsymmetricKey.
:type request: :class:`tencentcloud.kms.v20190118.models.VerifyByAsymmetricKeyRequest`
:rtype: :class:`tencentcloud.kms.v20190118.models.VerifyByAsymmetricKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("VerifyByAsymmetricKey", params, headers=headers)
response = json.loads(body)
model = models.VerifyByAsymmetricKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/tencentcloud/tencentcloud-sdk-python.git
git@gitee.com:tencentcloud/tencentcloud-sdk-python.git
tencentcloud
tencentcloud-sdk-python
tencentcloud-sdk-python
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891