private static void DeleteKeyMaterial(KmsClient kmsClient, string keyId)
 {
     try
     {
         var req = new DeleteImportedKeyMaterialRequest
         {
             VersionId = "v1.0",
             Body      = new OperateKeyRequestBody
             {
                 KeyId = keyId
             }
         };
         var resp = kmsClient.DeleteImportedKeyMaterial(req);
         Console.WriteLine(resp.GetHttpStatusCode());
     }
     catch (RequestTimeoutException requestTimeoutException)
     {
         Console.WriteLine(requestTimeoutException.ErrorMessage);
     }
     catch (ServiceResponseException clientRequestException)
     {
         Console.WriteLine(clientRequestException.HttpStatusCode);
         Console.WriteLine(clientRequestException.ErrorCode);
         Console.WriteLine(clientRequestException.ErrorMsg);
     }
     catch (ConnectionException connectionException)
     {
         Console.WriteLine(connectionException.ErrorMessage);
     }
 }
        /// <summary>
        /// 删除密钥材料
        /// </summary>
        public DeleteImportedKeyMaterialResponse DeleteImportedKeyMaterial(DeleteImportedKeyMaterialRequest deleteImportedKeyMaterialRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();

            urlParam.Add("version_id", deleteImportedKeyMaterialRequest.VersionId.ToString());
            string              urlPath  = HttpUtils.AddUrlPath("/{version_id}/{project_id}/kms/delete-imported-key-material", urlParam);
            SdkRequest          request  = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", deleteImportedKeyMaterialRequest);
            HttpResponseMessage response = DoHttpRequestSync("POST", request);

            return(JsonUtils.DeSerializeNull <DeleteImportedKeyMaterialResponse>(response));
        }
Ejemplo n.º 3
0
        /// <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);
        }