コード例 #1
0
        private static void ListGrant(KmsClient kmsClient)
        {
            try
            {
                var request = new ListGrantsRequest
                {
                    VersionId = "v1.0",
                    Body      = new ListGrantsRequestBody()
                    {
                        KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2")
                    }
                };
                var resp = kmsClient.ListGrants(request);

                Console.WriteLine(resp);
            }
            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);
            }
        }
コード例 #2
0
 private static void GetProjectTags(KmsClient kmsClient)
 {
     try
     {
         var req = new ListKmsTagsRequest
         {
             VersionId = "v1.0"
         };
         var resp = kmsClient.ListKmsTags(req);
         foreach (var tag in resp.Tags)
         {
             Console.Write("key: " + tag.Key + " ");
             Console.Write("value: ");
             foreach (var value in tag.Values)
             {
                 Console.Write(" " + value + " ");
             }
             Console.WriteLine();
         }
     }
     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);
     }
 }
コード例 #3
0
 private static void RetireGrant(KmsClient kmsClient)
 {
     try
     {
         var request = new CancelSelfGrantRequest
         {
             VersionId = "v1.0",
             Body      = new RevokeGrantRequestBody
             {
                 KeyId   = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                 GrantId = CreateGrant(kmsClient)
             }
         };
         var resp = kmsClient.CancelSelfGrant(request);
         Console.WriteLine(resp);
     }
     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);
     }
 }
コード例 #4
0
 private static void DeleteTag(KmsClient kmsClient)
 {
     try
     {
         var req = new DeleteTagRequest
         {
             VersionId = "v1.0",
             KeyId     = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
             Key       = "key"
         };
         var resp = kmsClient.DeleteTag(req);
         Console.WriteLine(resp.HttpStatusCode);
     }
     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);
     }
 }
コード例 #5
0
 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);
     }
 }
コード例 #6
0
        private static void CreateTag(KmsClient kmsClient)
        {
            var tagItem = new TagItem();

            tagItem.Key   = "key";
            tagItem.Value = "value";
            try
            {
                var req = new CreateKmsTagRequest
                {
                    VersionId = "v1.0",
                    KeyId     = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                    Body      = new CreateKmsTagRequestBody
                    {
                        Tag = tagItem
                    }
                };
                var resp = kmsClient.CreateKmsTag(req);
                Console.WriteLine(resp.HttpStatusCode);
            }
            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);
            }
        }
コード例 #7
0
 private static void GetKeyTag(KmsClient kmsClient)
 {
     try
     {
         var req = new ShowKmsTagsRequest
         {
             VersionId = "v1.0",
             KeyId     = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2")
         };
         var resp = kmsClient.ShowKmsTags(req);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #8
0
        private static void CreateKey(KmsClient kmsClient)
        {
            var req = new CreateKeyRequest
            {
                VersionId = "v1.0",
                Body      = new CreateKeyRequestBody()
                {
                    KeyAlias = "0000"
                }
            };

            try
            {
                var resp = kmsClient.CreateKey(req);
                Console.WriteLine(resp.ToString());
            }
            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);
            }
        }
コード例 #9
0
 private static void DecryptData(KmsClient kmsClient)
 {
     try
     {
         var request = new DecryptDataRequest
         {
             VersionId = "v1.0",
             Body      = new DecryptDataRequestBody()
             {
                 CipherText = EncryptData(kmsClient).CipherText
             }
         };
         var resp = kmsClient.DecryptData(request);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #10
0
 private static void EnableKeyRotation(KmsClient kmsClient)
 {
     try
     {
         if (GetKeyRotationStatus(kmsClient).KeyRotationEnabled.GetValueOrDefault())
         {
             DisableKeyRotation(kmsClient);
         }
         var request = new EnableKeyRotationRequest
         {
             VersionId = "v1.0",
             Body      = new OperateKeyRequestBody()
             {
                 KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2")
             }
         };
         var resp = kmsClient.EnableKeyRotation(request);
         Console.WriteLine(resp);
     }
     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);
     }
 }
コード例 #11
0
        private static void GenRandom(KmsClient kmsClient)
        {
            var request = new CreateRandomRequest
            {
                VersionId = "v1.0",
                Body      = new GenRandomRequestBody()
                {
                    RandomDataLength = "512"
                }
            };

            try
            {
                var resp = kmsClient.CreateRandom(request);
                Console.WriteLine(resp.ToString());
            }
            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);
            }
        }
コード例 #12
0
 private static void CreateDataKeyWithoutPlaintext(KmsClient kmsClient)
 {
     try
     {
         var request = new CreateDatakeyWithoutPlaintextRequest
         {
             VersionId = "v1.0",
             Body      = new CreateDatakeyRequestBody()
             {
                 KeyId         = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                 DatakeyLength = "512"
             }
         };
         var resp = kmsClient.CreateDatakeyWithoutPlaintext(request);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #13
0
 private static void DeleteKey(KmsClient kmsClient)
 {
     try
     {
         var req = new DeleteKeyRequest
         {
             VersionId = "v1.0",
             Body      = new ScheduleKeyDeletionRequestBody
             {
                 KeyId       = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                 PendingDays = "365"
             }
         };
         var resp = kmsClient.DeleteKey(req);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #14
0
 private static void EncryptDataKey(KmsClient kmsClient)
 {
     try
     {
         var data      = DecryptDataKey(kmsClient);
         var plainText = data.DataKey + data.DatakeyDgst;
         var request   = new EncryptDatakeyRequest
         {
             VersionId = "v1.0",
             Body      = new EncryptDatakeyRequestBody()
             {
                 KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                 DatakeyPlainLength = "64",
                 PlainText          = plainText
             }
         };
         var resp = kmsClient.EncryptDatakey(request);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #15
0
 private static void GetVersion(KmsClient kmsClient)
 {
     try
     {
         var req = new ShowVersionRequest
         {
             VersionId = "v1.0"
         };
         var resp = kmsClient.ShowVersion(req);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #16
0
        private static void ImportKeyMaterial(KmsClient kmsClient, string keyId)
        {
            var importToken          = "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";
            var encryptedKeyMaterial = "C6aqYsmfRjLGGkCxE9Wzm9rqc2yuOJZI4um5jSYHLebEzNyvXfX0Uk8Jkw5806S2IaW+n2gv6+K6hVqKDAzol5P8ycZRv/zvpvzgRjgbNMoFZz7xodsOXAHR+o5qZoeszoSYbLwWUt64/DSg68KxrgSYRO2H/03ROx+yCYKypJmsBlHWAg6AnnQQoxn6Ez5kDqTJKBNfMah8JibwcGU9+BuTr2WfWslqEa5LoMjc9HKPpTR1qh97e92VeGZ7JJ6ofODskNzJwj1jg1GTaBUqp6rBQmXaITmphcQt0/4aoxEqlgrgYLHX/Sxo3xwpRqZMFR7c4hFqM4lzSi1C21uxyQ==";

            try
            {
                var req = new ImportKeyMaterialRequest
                {
                    VersionId = "v1.0",
                    Body      = new ImportKeyMaterialRequestBody
                    {
                        KeyId                = keyId,
                        ImportToken          = importToken,
                        EncryptedKeyMaterial = encryptedKeyMaterial
                    }
                };
                var resp = kmsClient.ImportKeyMaterial(req);
                Console.WriteLine(resp.HttpStatusCode);
            }
            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);
            }
        }
コード例 #17
0
        private static CreateParametersForImportResponse GetParametersForImport(KmsClient kmsClient, string keyId)
        {
            try
            {
                var req = new CreateParametersForImportRequest
                {
                    VersionId = "v1.0",
                    Body      = new GetParametersForImportRequestBody
                    {
                        KeyId             = keyId,
                        WrappingAlgorithm = GetParametersForImportRequestBody.WrappingAlgorithmEnum.RSAES_OAEP_SHA_1
                    }
                };
                var resp = kmsClient.CreateParametersForImport(req);
                Console.WriteLine(resp.ToString());
                return(resp);
            }
            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);
            }

            return(null);
        }
コード例 #18
0
        static void Main1(string[] args)
        {
            const string ak        = "{your ak string}";
            const string sk        = "{your sk string}";
            const string endpoint  = "{your endpoint string}";
            const string projectId = "{your projectID string}";

            var config = HttpConfig.GetDefaultConfig();

            config.IgnoreSslVerification = true;
            var auth = new BasicCredentials(ak, sk, projectId);

            var kmsClient = KmsClient.NewBuilder()
                            .WithCredential(auth)
                            .WithEndPoint(endpoint)
                            .WithHttpConfig(config).Build();

            CreateKey(kmsClient);
            DeleteKey(kmsClient);
            CancelKeyDeletion(kmsClient);
            EnableKey(kmsClient);
            DisableKey(kmsClient);
            EnableKey(kmsClient);
            UpdateKeyAlias(kmsClient);
            UpdateKeyDescription(kmsClient);
        }
コード例 #19
0
        static void Main1(string[] args)
        {
            const string ak        = "{your ak string}";
            const string sk        = "{your sk string}";
            const string endpoint  = "{your endpoint string}";
            const string projectId = "{your projectID string}";

            var config = HttpConfig.GetDefaultConfig();

            config.IgnoreSslVerification = true;
            var auth = new BasicCredentials(ak, sk, projectId);

            var kmsClient = KmsClient.NewBuilder()
                            .WithCredential(auth)
                            .WithEndPoint(endpoint)
                            .WithHttpConfig(config).Build();

            CreateTag(kmsClient);
            DeleteTag(kmsClient);
            BatchCreateTags(kmsClient);
            BatchDeleteTags(kmsClient);
            GetKeyTag(kmsClient);
            GetProjectTags(kmsClient);
            GetResourceInstance(kmsClient);
        }
コード例 #20
0
        private static EncryptDataResponse EncryptData(KmsClient kmsClient)
        {
            try
            {
                var request = new EncryptDataRequest
                {
                    VersionId = "v1.0",
                    Body      = new EncryptDataRequestBody()
                    {
                        KeyId     = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                        PlainText = "hello world"
                    }
                };
                var resp = kmsClient.EncryptData(request);
                Console.WriteLine(resp.ToString());
                return(resp);
            }
            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);
            }

            return(null);
        }
コード例 #21
0
 private static void EnableKey(KmsClient kmsClient)
 {
     try
     {
         var req = new EnableKeyRequest
         {
             VersionId = "v1.0",
             Body      = new OperateKeyRequestBody
             {
                 KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "3")
             }
         };
         var resp = kmsClient.EnableKey(req);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #22
0
        private static ShowKeyRotationStatusResponse GetKeyRotationStatus(KmsClient kmsClient)
        {
            try
            {
                var request = new ShowKeyRotationStatusRequest
                {
                    VersionId = "v1.0",
                    Body      = new OperateKeyRequestBody()
                    {
                        KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2")
                    }
                };
                var resp = kmsClient.ShowKeyRotationStatus(request);
                Console.WriteLine(resp);
                return(resp);
            }
            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);
            }

            return(null);
        }
コード例 #23
0
 private static void UpdateKeyDescription(KmsClient kmsClient)
 {
     try
     {
         var req = new UpdateKeyDescriptionRequest
         {
             VersionId = "v1.0",
             Body      = new UpdateKeyDescriptionRequestBody
             {
                 KeyId          = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                 KeyDescription = "0000"
             }
         };
         var resp = kmsClient.UpdateKeyDescription(req);
         Console.WriteLine(resp.ToString());
     }
     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);
     }
 }
コード例 #24
0
        public static string GetKeyByKeyStatus(KmsClient kmsClient, string status)
        {
            var request = new ListKeysRequest
            {
                VersionId = "v1.0",
                Body      = new ListKeysRequestBody
                {
                    KeyState = status
                }
            };

            try
            {
                var resp = kmsClient.ListKeys(request);
                if (resp.Keys.Count != 0)
                {
                    return(resp.Keys[0]);
                }

                var req = new CreateKeyRequest
                {
                    VersionId = "v1.0",
                    Body      = new CreateKeyRequestBody()
                    {
                        KeyAlias = "0000"
                    }
                };
                var createKeyResponse = kmsClient.CreateKey(req);
                return(createKeyResponse.KeyInfo.KeyId);
            }
            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);
            }

            return(null);
        }
コード例 #25
0
        private static void BatchDeleteTags(KmsClient kmsClient)
        {
            var tagItems = new List <TagItem>();
            var tagItem1 = new TagItem();

            tagItem1.Key   = "key1";
            tagItem1.Value = "value1";
            var tagItem2 = new TagItem();

            tagItem2.Key   = "key2";
            tagItem2.Value = "value2";
            tagItems.Add(tagItem1);
            tagItems.Add(tagItem2);
            try
            {
                var req = new BatchCreateKmsTagsRequest
                {
                    VersionId = "v1.0",
                    KeyId     = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                    Body      = new BatchCreateKmsTagsRequestBody
                    {
                        Action = "delete",
                        Tags   = tagItems
                    }
                };
                var resp = kmsClient.BatchCreateKmsTags(req);
                Console.WriteLine(resp.HttpStatusCode);
            }
            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);
            }
        }
コード例 #26
0
        static void Main1(string[] args)
        {
            const string ak        = "{your ak string}";
            const string sk        = "{your sk string}";
            const string endpoint  = "{your endpoint string}";
            const string projectId = "{your projectID string}";

            var config = HttpConfig.GetDefaultConfig();

            config.IgnoreSslVerification = true;
            var auth = new BasicCredentials(ak, sk, projectId);

            var kmsClient = KmsClient.NewBuilder()
                            .WithCredential(auth)
                            .WithEndPoint(endpoint)
                            .WithHttpConfig(config).Build();

            DecryptData(kmsClient);
        }
コード例 #27
0
        private static string CreateGrant(KmsClient kmsClient)
        {
            var operations = new List <string> {
                "describe-key", "create-datakey"
            };

            try
            {
                var request = new CreateGrantRequest
                {
                    VersionId = "v1.0",
                    Body      = new CreateGrantRequestBody()
                    {
                        KeyId                = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                        GranteePrincipal     = "99104bff46109531b9ac70e606d3ffdf",
                        GranteePrincipalType = CreateGrantRequestBody.GranteePrincipalTypeEnum.DOMAIN,
                        Operations           = operations
                    }
                };
                var resp = kmsClient.CreateGrant(request);
                Console.WriteLine(resp.GrantId);
                return(resp.GrantId);
            }
            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);
            }

            return(null);
        }
コード例 #28
0
        static void Main1(string[] args)
        {
            const string ak        = "{your ak string}";
            const string sk        = "{your sk string}";
            const string endpoint  = "{your endpoint string}";
            const string projectId = "{your projectID string}";

            var config = HttpConfig.GetDefaultConfig();

            config.IgnoreSslVerification = true;
            var auth = new BasicCredentials(ak, sk, projectId);

            var kmsClient = KmsClient.NewBuilder()
                            .WithCredential(auth)
                            .WithEndPoint(endpoint)
                            .WithHttpConfig(config).Build();

            var keyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "5");

            GetParametersForImport(kmsClient, keyId);
            ImportKeyMaterial(kmsClient, keyId);
            DeleteKeyMaterial(kmsClient, keyId);
        }
コード例 #29
0
 private static void GetResourceInstance(KmsClient kmsClient)
 {
     try
     {
         var req = new ListKmsByTagsRequest
         {
             VersionId         = "v1.0",
             ResourceInstances = "resource_instances",
             Body = new ListKmsByTagsRequestBody
             {
                 Action = "filter"
             }
         };
         var resp = kmsClient.ListKmsByTags(req);
         foreach (var resource in resp.Resources)
         {
             Console.WriteLine(resource.ResourceId);
             Console.WriteLine(resource.ResourceName);
             Console.WriteLine(resource.ResourceDetail.ToString());
             Console.WriteLine(resource.Tags);
         }
     }
     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);
     }
 }
コード例 #30
0
        private static DecryptDatakeyResponse DecryptDataKey(KmsClient kmsClient)
        {
            try
            {
                var cipherText = CreateDataKey(kmsClient).CipherText;
                var request    = new DecryptDatakeyRequest
                {
                    VersionId = "v1.0",
                    Body      = new DecryptDatakeyRequestBody()
                    {
                        KeyId               = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2"),
                        CipherText          = cipherText,
                        DatakeyCipherLength = "64"
                    }
                };
                var resp = kmsClient.DecryptDatakey(request);
                Console.WriteLine(resp.ToString());
                return(resp);
            }
            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);
            }

            return(null);
        }