Files
2026-02-07 15:48:27 +08:00

1659 lines
72 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* Copyright (c) 2018 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.
*/
namespace TencentCloud.Kms.V20190118
{
using Newtonsoft.Json;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Kms.V20190118.Models;
public class KmsClient : AbstractClient{
private const string endpoint = "kms.tencentcloudapi.com";
private const string version = "2019-01-18";
/// <summary>
/// Client constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
public KmsClient(Credential credential, string region)
: this(credential, region, new ClientProfile())
{
}
/// <summary>
/// Client Constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
/// <param name="profile">Client profiles.</param>
public KmsClient(Credential credential, string region, ClientProfile profile)
: base(endpoint, version, credential, region, profile)
{
}
/// <summary>
/// 使用指定的RSA非对称密钥的私钥进行数据解密密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。
/// </summary>
/// <param name="req"><see cref="AsymmetricRsaDecryptRequest"/></param>
/// <returns><see cref="AsymmetricRsaDecryptResponse"/></returns>
public async Task<AsymmetricRsaDecryptResponse> AsymmetricRsaDecrypt(AsymmetricRsaDecryptRequest req)
{
JsonResponseModel<AsymmetricRsaDecryptResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "AsymmetricRsaDecrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AsymmetricRsaDecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用指定的RSA非对称密钥的私钥进行数据解密密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。
/// </summary>
/// <param name="req"><see cref="AsymmetricRsaDecryptRequest"/></param>
/// <returns><see cref="AsymmetricRsaDecryptResponse"/></returns>
public AsymmetricRsaDecryptResponse AsymmetricRsaDecryptSync(AsymmetricRsaDecryptRequest req)
{
JsonResponseModel<AsymmetricRsaDecryptResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "AsymmetricRsaDecrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AsymmetricRsaDecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用指定的SM2非对称密钥的私钥进行数据解密密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。传入的密文的长度不能超过256字节。
/// </summary>
/// <param name="req"><see cref="AsymmetricSm2DecryptRequest"/></param>
/// <returns><see cref="AsymmetricSm2DecryptResponse"/></returns>
public async Task<AsymmetricSm2DecryptResponse> AsymmetricSm2Decrypt(AsymmetricSm2DecryptRequest req)
{
JsonResponseModel<AsymmetricSm2DecryptResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "AsymmetricSm2Decrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AsymmetricSm2DecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用指定的SM2非对称密钥的私钥进行数据解密密文必须是使用对应公钥加密的。处于Enabled 状态的非对称密钥才能进行解密操作。传入的密文的长度不能超过256字节。
/// </summary>
/// <param name="req"><see cref="AsymmetricSm2DecryptRequest"/></param>
/// <returns><see cref="AsymmetricSm2DecryptResponse"/></returns>
public AsymmetricSm2DecryptResponse AsymmetricSm2DecryptSync(AsymmetricSm2DecryptRequest req)
{
JsonResponseModel<AsymmetricSm2DecryptResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "AsymmetricSm2Decrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AsymmetricSm2DecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 取消CMK的计划删除操作
/// </summary>
/// <param name="req"><see cref="CancelKeyDeletionRequest"/></param>
/// <returns><see cref="CancelKeyDeletionResponse"/></returns>
public async Task<CancelKeyDeletionResponse> CancelKeyDeletion(CancelKeyDeletionRequest req)
{
JsonResponseModel<CancelKeyDeletionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CancelKeyDeletion");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CancelKeyDeletionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 取消CMK的计划删除操作
/// </summary>
/// <param name="req"><see cref="CancelKeyDeletionRequest"/></param>
/// <returns><see cref="CancelKeyDeletionResponse"/></returns>
public CancelKeyDeletionResponse CancelKeyDeletionSync(CancelKeyDeletionRequest req)
{
JsonResponseModel<CancelKeyDeletionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CancelKeyDeletion");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CancelKeyDeletionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 创建用户管理数据密钥的主密钥CMKCustom Master Key
/// </summary>
/// <param name="req"><see cref="CreateKeyRequest"/></param>
/// <returns><see cref="CreateKeyResponse"/></returns>
public async Task<CreateKeyResponse> CreateKey(CreateKeyRequest req)
{
JsonResponseModel<CreateKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CreateKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 创建用户管理数据密钥的主密钥CMKCustom Master Key
/// </summary>
/// <param name="req"><see cref="CreateKeyRequest"/></param>
/// <returns><see cref="CreateKeyResponse"/></returns>
public CreateKeyResponse CreateKeySync(CreateKeyRequest req)
{
JsonResponseModel<CreateKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CreateKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 创建白盒密钥。 密钥个数的上限为 50。
/// </summary>
/// <param name="req"><see cref="CreateWhiteBoxKeyRequest"/></param>
/// <returns><see cref="CreateWhiteBoxKeyResponse"/></returns>
public async Task<CreateWhiteBoxKeyResponse> CreateWhiteBoxKey(CreateWhiteBoxKeyRequest req)
{
JsonResponseModel<CreateWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CreateWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 创建白盒密钥。 密钥个数的上限为 50。
/// </summary>
/// <param name="req"><see cref="CreateWhiteBoxKeyRequest"/></param>
/// <returns><see cref="CreateWhiteBoxKeyResponse"/></returns>
public CreateWhiteBoxKeyResponse CreateWhiteBoxKeySync(CreateWhiteBoxKeyRequest req)
{
JsonResponseModel<CreateWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CreateWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于解密密文,得到明文数据。
/// </summary>
/// <param name="req"><see cref="DecryptRequest"/></param>
/// <returns><see cref="DecryptResponse"/></returns>
public async Task<DecryptResponse> Decrypt(DecryptRequest req)
{
JsonResponseModel<DecryptResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "Decrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于解密密文,得到明文数据。
/// </summary>
/// <param name="req"><see cref="DecryptRequest"/></param>
/// <returns><see cref="DecryptResponse"/></returns>
public DecryptResponse DecryptSync(DecryptRequest req)
{
JsonResponseModel<DecryptResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "Decrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DecryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于删除导入的密钥材料仅对EXTERNAL类型的CMK有效该接口将CMK设置为PendingImport 状态并不会删除CMK在重新进行密钥导入后可继续使用。彻底删除CMK请使用 ScheduleKeyDeletion 接口。
/// </summary>
/// <param name="req"><see cref="DeleteImportedKeyMaterialRequest"/></param>
/// <returns><see cref="DeleteImportedKeyMaterialResponse"/></returns>
public async Task<DeleteImportedKeyMaterialResponse> DeleteImportedKeyMaterial(DeleteImportedKeyMaterialRequest req)
{
JsonResponseModel<DeleteImportedKeyMaterialResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DeleteImportedKeyMaterial");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteImportedKeyMaterialResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于删除导入的密钥材料仅对EXTERNAL类型的CMK有效该接口将CMK设置为PendingImport 状态并不会删除CMK在重新进行密钥导入后可继续使用。彻底删除CMK请使用 ScheduleKeyDeletion 接口。
/// </summary>
/// <param name="req"><see cref="DeleteImportedKeyMaterialRequest"/></param>
/// <returns><see cref="DeleteImportedKeyMaterialResponse"/></returns>
public DeleteImportedKeyMaterialResponse DeleteImportedKeyMaterialSync(DeleteImportedKeyMaterialRequest req)
{
JsonResponseModel<DeleteImportedKeyMaterialResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DeleteImportedKeyMaterial");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteImportedKeyMaterialResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 删除白盒密钥, 注意:必须先禁用后,才可以删除。
/// </summary>
/// <param name="req"><see cref="DeleteWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DeleteWhiteBoxKeyResponse"/></returns>
public async Task<DeleteWhiteBoxKeyResponse> DeleteWhiteBoxKey(DeleteWhiteBoxKeyRequest req)
{
JsonResponseModel<DeleteWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DeleteWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 删除白盒密钥, 注意:必须先禁用后,才可以删除。
/// </summary>
/// <param name="req"><see cref="DeleteWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DeleteWhiteBoxKeyResponse"/></returns>
public DeleteWhiteBoxKeyResponse DeleteWhiteBoxKeySync(DeleteWhiteBoxKeyRequest req)
{
JsonResponseModel<DeleteWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DeleteWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于获取指定KeyId的主密钥属性详情信息。
/// </summary>
/// <param name="req"><see cref="DescribeKeyRequest"/></param>
/// <returns><see cref="DescribeKeyResponse"/></returns>
public async Task<DescribeKeyResponse> DescribeKey(DescribeKeyRequest req)
{
JsonResponseModel<DescribeKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于获取指定KeyId的主密钥属性详情信息。
/// </summary>
/// <param name="req"><see cref="DescribeKeyRequest"/></param>
/// <returns><see cref="DescribeKeyResponse"/></returns>
public DescribeKeyResponse DescribeKeySync(DescribeKeyRequest req)
{
JsonResponseModel<DescribeKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量获取主密钥属性信息。
/// </summary>
/// <param name="req"><see cref="DescribeKeysRequest"/></param>
/// <returns><see cref="DescribeKeysResponse"/></returns>
public async Task<DescribeKeysResponse> DescribeKeys(DescribeKeysRequest req)
{
JsonResponseModel<DescribeKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量获取主密钥属性信息。
/// </summary>
/// <param name="req"><see cref="DescribeKeysRequest"/></param>
/// <returns><see cref="DescribeKeysResponse"/></returns>
public DescribeKeysResponse DescribeKeysSync(DescribeKeysRequest req)
{
JsonResponseModel<DescribeKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒解密密钥
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxDecryptKeyRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxDecryptKeyResponse"/></returns>
public async Task<DescribeWhiteBoxDecryptKeyResponse> DescribeWhiteBoxDecryptKey(DescribeWhiteBoxDecryptKeyRequest req)
{
JsonResponseModel<DescribeWhiteBoxDecryptKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeWhiteBoxDecryptKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxDecryptKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒解密密钥
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxDecryptKeyRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxDecryptKeyResponse"/></returns>
public DescribeWhiteBoxDecryptKeyResponse DescribeWhiteBoxDecryptKeySync(DescribeWhiteBoxDecryptKeyRequest req)
{
JsonResponseModel<DescribeWhiteBoxDecryptKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeWhiteBoxDecryptKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxDecryptKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 展示白盒密钥的信息
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxKeyResponse"/></returns>
public async Task<DescribeWhiteBoxKeyResponse> DescribeWhiteBoxKey(DescribeWhiteBoxKeyRequest req)
{
JsonResponseModel<DescribeWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 展示白盒密钥的信息
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxKeyResponse"/></returns>
public DescribeWhiteBoxKeyResponse DescribeWhiteBoxKeySync(DescribeWhiteBoxKeyRequest req)
{
JsonResponseModel<DescribeWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒密钥列表
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxKeyDetailsRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxKeyDetailsResponse"/></returns>
public async Task<DescribeWhiteBoxKeyDetailsResponse> DescribeWhiteBoxKeyDetails(DescribeWhiteBoxKeyDetailsRequest req)
{
JsonResponseModel<DescribeWhiteBoxKeyDetailsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeWhiteBoxKeyDetails");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxKeyDetailsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒密钥列表
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxKeyDetailsRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxKeyDetailsResponse"/></returns>
public DescribeWhiteBoxKeyDetailsResponse DescribeWhiteBoxKeyDetailsSync(DescribeWhiteBoxKeyDetailsRequest req)
{
JsonResponseModel<DescribeWhiteBoxKeyDetailsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeWhiteBoxKeyDetails");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxKeyDetailsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒密钥服务状态
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxServiceStatusRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxServiceStatusResponse"/></returns>
public async Task<DescribeWhiteBoxServiceStatusResponse> DescribeWhiteBoxServiceStatus(DescribeWhiteBoxServiceStatusRequest req)
{
JsonResponseModel<DescribeWhiteBoxServiceStatusResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeWhiteBoxServiceStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxServiceStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取白盒密钥服务状态
/// </summary>
/// <param name="req"><see cref="DescribeWhiteBoxServiceStatusRequest"/></param>
/// <returns><see cref="DescribeWhiteBoxServiceStatusResponse"/></returns>
public DescribeWhiteBoxServiceStatusResponse DescribeWhiteBoxServiceStatusSync(DescribeWhiteBoxServiceStatusRequest req)
{
JsonResponseModel<DescribeWhiteBoxServiceStatusResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeWhiteBoxServiceStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeWhiteBoxServiceStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于禁用一个主密钥处于禁用状态的Key无法用于加密、解密操作。
/// </summary>
/// <param name="req"><see cref="DisableKeyRequest"/></param>
/// <returns><see cref="DisableKeyResponse"/></returns>
public async Task<DisableKeyResponse> DisableKey(DisableKeyRequest req)
{
JsonResponseModel<DisableKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DisableKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于禁用一个主密钥处于禁用状态的Key无法用于加密、解密操作。
/// </summary>
/// <param name="req"><see cref="DisableKeyRequest"/></param>
/// <returns><see cref="DisableKeyResponse"/></returns>
public DisableKeyResponse DisableKeySync(DisableKeyRequest req)
{
JsonResponseModel<DisableKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DisableKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 对指定的CMK禁止密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="DisableKeyRotationRequest"/></param>
/// <returns><see cref="DisableKeyRotationResponse"/></returns>
public async Task<DisableKeyRotationResponse> DisableKeyRotation(DisableKeyRotationRequest req)
{
JsonResponseModel<DisableKeyRotationResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DisableKeyRotation");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeyRotationResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 对指定的CMK禁止密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="DisableKeyRotationRequest"/></param>
/// <returns><see cref="DisableKeyRotationResponse"/></returns>
public DisableKeyRotationResponse DisableKeyRotationSync(DisableKeyRotationRequest req)
{
JsonResponseModel<DisableKeyRotationResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DisableKeyRotation");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeyRotationResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量禁止CMK的使用。
/// </summary>
/// <param name="req"><see cref="DisableKeysRequest"/></param>
/// <returns><see cref="DisableKeysResponse"/></returns>
public async Task<DisableKeysResponse> DisableKeys(DisableKeysRequest req)
{
JsonResponseModel<DisableKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DisableKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量禁止CMK的使用。
/// </summary>
/// <param name="req"><see cref="DisableKeysRequest"/></param>
/// <returns><see cref="DisableKeysResponse"/></returns>
public DisableKeysResponse DisableKeysSync(DisableKeysRequest req)
{
JsonResponseModel<DisableKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DisableKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 禁用白盒密钥
/// </summary>
/// <param name="req"><see cref="DisableWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DisableWhiteBoxKeyResponse"/></returns>
public async Task<DisableWhiteBoxKeyResponse> DisableWhiteBoxKey(DisableWhiteBoxKeyRequest req)
{
JsonResponseModel<DisableWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DisableWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 禁用白盒密钥
/// </summary>
/// <param name="req"><see cref="DisableWhiteBoxKeyRequest"/></param>
/// <returns><see cref="DisableWhiteBoxKeyResponse"/></returns>
public DisableWhiteBoxKeyResponse DisableWhiteBoxKeySync(DisableWhiteBoxKeyRequest req)
{
JsonResponseModel<DisableWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DisableWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量禁用白盒密钥
/// </summary>
/// <param name="req"><see cref="DisableWhiteBoxKeysRequest"/></param>
/// <returns><see cref="DisableWhiteBoxKeysResponse"/></returns>
public async Task<DisableWhiteBoxKeysResponse> DisableWhiteBoxKeys(DisableWhiteBoxKeysRequest req)
{
JsonResponseModel<DisableWhiteBoxKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DisableWhiteBoxKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableWhiteBoxKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量禁用白盒密钥
/// </summary>
/// <param name="req"><see cref="DisableWhiteBoxKeysRequest"/></param>
/// <returns><see cref="DisableWhiteBoxKeysResponse"/></returns>
public DisableWhiteBoxKeysResponse DisableWhiteBoxKeysSync(DisableWhiteBoxKeysRequest req)
{
JsonResponseModel<DisableWhiteBoxKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DisableWhiteBoxKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DisableWhiteBoxKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于启用一个指定的CMK。
/// </summary>
/// <param name="req"><see cref="EnableKeyRequest"/></param>
/// <returns><see cref="EnableKeyResponse"/></returns>
public async Task<EnableKeyResponse> EnableKey(EnableKeyRequest req)
{
JsonResponseModel<EnableKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EnableKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于启用一个指定的CMK。
/// </summary>
/// <param name="req"><see cref="EnableKeyRequest"/></param>
/// <returns><see cref="EnableKeyResponse"/></returns>
public EnableKeyResponse EnableKeySync(EnableKeyRequest req)
{
JsonResponseModel<EnableKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EnableKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 对指定的CMK开启密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="EnableKeyRotationRequest"/></param>
/// <returns><see cref="EnableKeyRotationResponse"/></returns>
public async Task<EnableKeyRotationResponse> EnableKeyRotation(EnableKeyRotationRequest req)
{
JsonResponseModel<EnableKeyRotationResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EnableKeyRotation");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeyRotationResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 对指定的CMK开启密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="EnableKeyRotationRequest"/></param>
/// <returns><see cref="EnableKeyRotationResponse"/></returns>
public EnableKeyRotationResponse EnableKeyRotationSync(EnableKeyRotationRequest req)
{
JsonResponseModel<EnableKeyRotationResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EnableKeyRotation");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeyRotationResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量启用CMK。
/// </summary>
/// <param name="req"><see cref="EnableKeysRequest"/></param>
/// <returns><see cref="EnableKeysResponse"/></returns>
public async Task<EnableKeysResponse> EnableKeys(EnableKeysRequest req)
{
JsonResponseModel<EnableKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EnableKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于批量启用CMK。
/// </summary>
/// <param name="req"><see cref="EnableKeysRequest"/></param>
/// <returns><see cref="EnableKeysResponse"/></returns>
public EnableKeysResponse EnableKeysSync(EnableKeysRequest req)
{
JsonResponseModel<EnableKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EnableKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量启用白盒密钥
/// </summary>
/// <param name="req"><see cref="EnableWhiteBoxKeyRequest"/></param>
/// <returns><see cref="EnableWhiteBoxKeyResponse"/></returns>
public async Task<EnableWhiteBoxKeyResponse> EnableWhiteBoxKey(EnableWhiteBoxKeyRequest req)
{
JsonResponseModel<EnableWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EnableWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量启用白盒密钥
/// </summary>
/// <param name="req"><see cref="EnableWhiteBoxKeyRequest"/></param>
/// <returns><see cref="EnableWhiteBoxKeyResponse"/></returns>
public EnableWhiteBoxKeyResponse EnableWhiteBoxKeySync(EnableWhiteBoxKeyRequest req)
{
JsonResponseModel<EnableWhiteBoxKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EnableWhiteBoxKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableWhiteBoxKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量启用白盒密钥
/// </summary>
/// <param name="req"><see cref="EnableWhiteBoxKeysRequest"/></param>
/// <returns><see cref="EnableWhiteBoxKeysResponse"/></returns>
public async Task<EnableWhiteBoxKeysResponse> EnableWhiteBoxKeys(EnableWhiteBoxKeysRequest req)
{
JsonResponseModel<EnableWhiteBoxKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EnableWhiteBoxKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableWhiteBoxKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 批量启用白盒密钥
/// </summary>
/// <param name="req"><see cref="EnableWhiteBoxKeysRequest"/></param>
/// <returns><see cref="EnableWhiteBoxKeysResponse"/></returns>
public EnableWhiteBoxKeysResponse EnableWhiteBoxKeysSync(EnableWhiteBoxKeysRequest req)
{
JsonResponseModel<EnableWhiteBoxKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EnableWhiteBoxKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EnableWhiteBoxKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于加密最多为4KB任意数据可用于加密数据库密码RSA Key或其它较小的敏感信息。对于应用的数据加密使用GenerateDataKey生成的DataKey进行本地数据的加解密操作
/// </summary>
/// <param name="req"><see cref="EncryptRequest"/></param>
/// <returns><see cref="EncryptResponse"/></returns>
public async Task<EncryptResponse> Encrypt(EncryptRequest req)
{
JsonResponseModel<EncryptResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "Encrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EncryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口用于加密最多为4KB任意数据可用于加密数据库密码RSA Key或其它较小的敏感信息。对于应用的数据加密使用GenerateDataKey生成的DataKey进行本地数据的加解密操作
/// </summary>
/// <param name="req"><see cref="EncryptRequest"/></param>
/// <returns><see cref="EncryptResponse"/></returns>
public EncryptResponse EncryptSync(EncryptRequest req)
{
JsonResponseModel<EncryptResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "Encrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EncryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用白盒密钥进行加密
/// </summary>
/// <param name="req"><see cref="EncryptByWhiteBoxRequest"/></param>
/// <returns><see cref="EncryptByWhiteBoxResponse"/></returns>
public async Task<EncryptByWhiteBoxResponse> EncryptByWhiteBox(EncryptByWhiteBoxRequest req)
{
JsonResponseModel<EncryptByWhiteBoxResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "EncryptByWhiteBox");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EncryptByWhiteBoxResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用白盒密钥进行加密
/// </summary>
/// <param name="req"><see cref="EncryptByWhiteBoxRequest"/></param>
/// <returns><see cref="EncryptByWhiteBoxResponse"/></returns>
public EncryptByWhiteBoxResponse EncryptByWhiteBoxSync(EncryptByWhiteBoxRequest req)
{
JsonResponseModel<EncryptByWhiteBoxResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "EncryptByWhiteBox");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<EncryptByWhiteBoxResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口生成一个数据密钥,您可以用这个密钥进行本地数据的加密。
/// </summary>
/// <param name="req"><see cref="GenerateDataKeyRequest"/></param>
/// <returns><see cref="GenerateDataKeyResponse"/></returns>
public async Task<GenerateDataKeyResponse> GenerateDataKey(GenerateDataKeyRequest req)
{
JsonResponseModel<GenerateDataKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GenerateDataKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GenerateDataKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口生成一个数据密钥,您可以用这个密钥进行本地数据的加密。
/// </summary>
/// <param name="req"><see cref="GenerateDataKeyRequest"/></param>
/// <returns><see cref="GenerateDataKeyResponse"/></returns>
public GenerateDataKeyResponse GenerateDataKeySync(GenerateDataKeyRequest req)
{
JsonResponseModel<GenerateDataKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GenerateDataKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GenerateDataKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 随机数生成接口。
/// </summary>
/// <param name="req"><see cref="GenerateRandomRequest"/></param>
/// <returns><see cref="GenerateRandomResponse"/></returns>
public async Task<GenerateRandomResponse> GenerateRandom(GenerateRandomRequest req)
{
JsonResponseModel<GenerateRandomResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GenerateRandom");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GenerateRandomResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 随机数生成接口。
/// </summary>
/// <param name="req"><see cref="GenerateRandomRequest"/></param>
/// <returns><see cref="GenerateRandomResponse"/></returns>
public GenerateRandomResponse GenerateRandomSync(GenerateRandomRequest req)
{
JsonResponseModel<GenerateRandomResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GenerateRandom");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GenerateRandomResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 查询指定的CMK是否开启了密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="GetKeyRotationStatusRequest"/></param>
/// <returns><see cref="GetKeyRotationStatusResponse"/></returns>
public async Task<GetKeyRotationStatusResponse> GetKeyRotationStatus(GetKeyRotationStatusRequest req)
{
JsonResponseModel<GetKeyRotationStatusResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GetKeyRotationStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetKeyRotationStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 查询指定的CMK是否开启了密钥轮换功能。
/// </summary>
/// <param name="req"><see cref="GetKeyRotationStatusRequest"/></param>
/// <returns><see cref="GetKeyRotationStatusResponse"/></returns>
public GetKeyRotationStatusResponse GetKeyRotationStatusSync(GetKeyRotationStatusRequest req)
{
JsonResponseModel<GetKeyRotationStatusResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GetKeyRotationStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetKeyRotationStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取导入主密钥CMK材料的参数返回的Token作为执行ImportKeyMaterial的参数之一返回的PublicKey用于对自主导入密钥材料进行加密。返回的Token和PublicKey 24小时后失效失效后如需重新导入需要再次调用该接口获取新的Token和PublicKey。
/// </summary>
/// <param name="req"><see cref="GetParametersForImportRequest"/></param>
/// <returns><see cref="GetParametersForImportResponse"/></returns>
public async Task<GetParametersForImportResponse> GetParametersForImport(GetParametersForImportRequest req)
{
JsonResponseModel<GetParametersForImportResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GetParametersForImport");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetParametersForImportResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取导入主密钥CMK材料的参数返回的Token作为执行ImportKeyMaterial的参数之一返回的PublicKey用于对自主导入密钥材料进行加密。返回的Token和PublicKey 24小时后失效失效后如需重新导入需要再次调用该接口获取新的Token和PublicKey。
/// </summary>
/// <param name="req"><see cref="GetParametersForImportRequest"/></param>
/// <returns><see cref="GetParametersForImportResponse"/></returns>
public GetParametersForImportResponse GetParametersForImportSync(GetParametersForImportRequest req)
{
JsonResponseModel<GetParametersForImportResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GetParametersForImport");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetParametersForImportResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用户获取 KeyUsage为ASYMMETRIC_DECRYPT_RSA_2048 和 ASYMMETRIC_DECRYPT_SM2 的非对称密钥的公钥信息使用该公钥用户可在本地进行数据加密使用该公钥加密的数据只能通过KMS使用对应的私钥进行解密。只有处于Enabled状态的非对称密钥才可能获取公钥。
/// </summary>
/// <param name="req"><see cref="GetPublicKeyRequest"/></param>
/// <returns><see cref="GetPublicKeyResponse"/></returns>
public async Task<GetPublicKeyResponse> GetPublicKey(GetPublicKeyRequest req)
{
JsonResponseModel<GetPublicKeyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GetPublicKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetPublicKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用户获取 KeyUsage为ASYMMETRIC_DECRYPT_RSA_2048 和 ASYMMETRIC_DECRYPT_SM2 的非对称密钥的公钥信息使用该公钥用户可在本地进行数据加密使用该公钥加密的数据只能通过KMS使用对应的私钥进行解密。只有处于Enabled状态的非对称密钥才可能获取公钥。
/// </summary>
/// <param name="req"><see cref="GetPublicKeyRequest"/></param>
/// <returns><see cref="GetPublicKeyResponse"/></returns>
public GetPublicKeyResponse GetPublicKeySync(GetPublicKeyRequest req)
{
JsonResponseModel<GetPublicKeyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GetPublicKey");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetPublicKeyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于查询该用户是否已开通KMS服务
/// </summary>
/// <param name="req"><see cref="GetServiceStatusRequest"/></param>
/// <returns><see cref="GetServiceStatusResponse"/></returns>
public async Task<GetServiceStatusResponse> GetServiceStatus(GetServiceStatusRequest req)
{
JsonResponseModel<GetServiceStatusResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GetServiceStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetServiceStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于查询该用户是否已开通KMS服务
/// </summary>
/// <param name="req"><see cref="GetServiceStatusRequest"/></param>
/// <returns><see cref="GetServiceStatusResponse"/></returns>
public GetServiceStatusResponse GetServiceStatusSync(GetServiceStatusRequest req)
{
JsonResponseModel<GetServiceStatusResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GetServiceStatus");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetServiceStatusResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于导入密钥材料。只有类型为EXTERNAL 的CMK 才可以导入,导入的密钥材料使用 GetParametersForImport 获取的密钥进行加密。可以为指定的 CMK 重新导入密钥材料并重新指定过期时间但必须导入相同的密钥材料。CMK 密钥材料导入后不可以更换密钥材料。导入的密钥材料过期或者被删除后指定的CMK将无法使用需要再次导入相同的密钥材料才能正常使用。CMK是独立的同样的密钥材料可导入不同的 CMK 中,但使用其中一个 CMK 加密的数据无法使用另一个 CMK解密。
/// 只有Enabled 和 PendingImport状态的CMK可以导入密钥材料。
/// </summary>
/// <param name="req"><see cref="ImportKeyMaterialRequest"/></param>
/// <returns><see cref="ImportKeyMaterialResponse"/></returns>
public async Task<ImportKeyMaterialResponse> ImportKeyMaterial(ImportKeyMaterialRequest req)
{
JsonResponseModel<ImportKeyMaterialResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ImportKeyMaterial");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ImportKeyMaterialResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于导入密钥材料。只有类型为EXTERNAL 的CMK 才可以导入,导入的密钥材料使用 GetParametersForImport 获取的密钥进行加密。可以为指定的 CMK 重新导入密钥材料并重新指定过期时间但必须导入相同的密钥材料。CMK 密钥材料导入后不可以更换密钥材料。导入的密钥材料过期或者被删除后指定的CMK将无法使用需要再次导入相同的密钥材料才能正常使用。CMK是独立的同样的密钥材料可导入不同的 CMK 中,但使用其中一个 CMK 加密的数据无法使用另一个 CMK解密。
/// 只有Enabled 和 PendingImport状态的CMK可以导入密钥材料。
/// </summary>
/// <param name="req"><see cref="ImportKeyMaterialRequest"/></param>
/// <returns><see cref="ImportKeyMaterialResponse"/></returns>
public ImportKeyMaterialResponse ImportKeyMaterialSync(ImportKeyMaterialRequest req)
{
JsonResponseModel<ImportKeyMaterialResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ImportKeyMaterial");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ImportKeyMaterialResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 列出当前Region支持的加密方式
/// </summary>
/// <param name="req"><see cref="ListAlgorithmsRequest"/></param>
/// <returns><see cref="ListAlgorithmsResponse"/></returns>
public async Task<ListAlgorithmsResponse> ListAlgorithms(ListAlgorithmsRequest req)
{
JsonResponseModel<ListAlgorithmsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ListAlgorithms");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListAlgorithmsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 列出当前Region支持的加密方式
/// </summary>
/// <param name="req"><see cref="ListAlgorithmsRequest"/></param>
/// <returns><see cref="ListAlgorithmsResponse"/></returns>
public ListAlgorithmsResponse ListAlgorithmsSync(ListAlgorithmsRequest req)
{
JsonResponseModel<ListAlgorithmsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ListAlgorithms");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListAlgorithmsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 根据指定Offset和Limit获取主密钥列表详情。
/// </summary>
/// <param name="req"><see cref="ListKeyDetailRequest"/></param>
/// <returns><see cref="ListKeyDetailResponse"/></returns>
public async Task<ListKeyDetailResponse> ListKeyDetail(ListKeyDetailRequest req)
{
JsonResponseModel<ListKeyDetailResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ListKeyDetail");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListKeyDetailResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 根据指定Offset和Limit获取主密钥列表详情。
/// </summary>
/// <param name="req"><see cref="ListKeyDetailRequest"/></param>
/// <returns><see cref="ListKeyDetailResponse"/></returns>
public ListKeyDetailResponse ListKeyDetailSync(ListKeyDetailRequest req)
{
JsonResponseModel<ListKeyDetailResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ListKeyDetail");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListKeyDetailResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 列出账号下面状态为Enabled Disabled 和 PendingImport 的CMK KeyId 列表
/// </summary>
/// <param name="req"><see cref="ListKeysRequest"/></param>
/// <returns><see cref="ListKeysResponse"/></returns>
public async Task<ListKeysResponse> ListKeys(ListKeysRequest req)
{
JsonResponseModel<ListKeysResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ListKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 列出账号下面状态为Enabled Disabled 和 PendingImport 的CMK KeyId 列表
/// </summary>
/// <param name="req"><see cref="ListKeysRequest"/></param>
/// <returns><see cref="ListKeysResponse"/></returns>
public ListKeysResponse ListKeysSync(ListKeysRequest req)
{
JsonResponseModel<ListKeysResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ListKeys");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ListKeysResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用指定CMK对密文重新加密。
/// </summary>
/// <param name="req"><see cref="ReEncryptRequest"/></param>
/// <returns><see cref="ReEncryptResponse"/></returns>
public async Task<ReEncryptResponse> ReEncrypt(ReEncryptRequest req)
{
JsonResponseModel<ReEncryptResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ReEncrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ReEncryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 使用指定CMK对密文重新加密。
/// </summary>
/// <param name="req"><see cref="ReEncryptRequest"/></param>
/// <returns><see cref="ReEncryptResponse"/></returns>
public ReEncryptResponse ReEncryptSync(ReEncryptRequest req)
{
JsonResponseModel<ReEncryptResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ReEncrypt");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ReEncryptResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// CMK计划删除接口用于指定CMK删除的时间可选时间区间为[7,30]天
/// </summary>
/// <param name="req"><see cref="ScheduleKeyDeletionRequest"/></param>
/// <returns><see cref="ScheduleKeyDeletionResponse"/></returns>
public async Task<ScheduleKeyDeletionResponse> ScheduleKeyDeletion(ScheduleKeyDeletionRequest req)
{
JsonResponseModel<ScheduleKeyDeletionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ScheduleKeyDeletion");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ScheduleKeyDeletionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// CMK计划删除接口用于指定CMK删除的时间可选时间区间为[7,30]天
/// </summary>
/// <param name="req"><see cref="ScheduleKeyDeletionRequest"/></param>
/// <returns><see cref="ScheduleKeyDeletionResponse"/></returns>
public ScheduleKeyDeletionResponse ScheduleKeyDeletionSync(ScheduleKeyDeletionRequest req)
{
JsonResponseModel<ScheduleKeyDeletionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ScheduleKeyDeletion");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ScheduleKeyDeletionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于修改CMK的别名。对于处于PendingDelete状态的CMK禁止修改。
/// </summary>
/// <param name="req"><see cref="UpdateAliasRequest"/></param>
/// <returns><see cref="UpdateAliasResponse"/></returns>
public async Task<UpdateAliasResponse> UpdateAlias(UpdateAliasRequest req)
{
JsonResponseModel<UpdateAliasResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "UpdateAlias");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UpdateAliasResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 用于修改CMK的别名。对于处于PendingDelete状态的CMK禁止修改。
/// </summary>
/// <param name="req"><see cref="UpdateAliasRequest"/></param>
/// <returns><see cref="UpdateAliasResponse"/></returns>
public UpdateAliasResponse UpdateAliasSync(UpdateAliasRequest req)
{
JsonResponseModel<UpdateAliasResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "UpdateAlias");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UpdateAliasResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于对指定的cmk修改描述信息。对于处于PendingDelete状态的CMK禁止修改。
/// </summary>
/// <param name="req"><see cref="UpdateKeyDescriptionRequest"/></param>
/// <returns><see cref="UpdateKeyDescriptionResponse"/></returns>
public async Task<UpdateKeyDescriptionResponse> UpdateKeyDescription(UpdateKeyDescriptionRequest req)
{
JsonResponseModel<UpdateKeyDescriptionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "UpdateKeyDescription");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UpdateKeyDescriptionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口用于对指定的cmk修改描述信息。对于处于PendingDelete状态的CMK禁止修改。
/// </summary>
/// <param name="req"><see cref="UpdateKeyDescriptionRequest"/></param>
/// <returns><see cref="UpdateKeyDescriptionResponse"/></returns>
public UpdateKeyDescriptionResponse UpdateKeyDescriptionSync(UpdateKeyDescriptionRequest req)
{
JsonResponseModel<UpdateKeyDescriptionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "UpdateKeyDescription");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UpdateKeyDescriptionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
}
}