本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS KMS使用适用于 Java 2.x 的 SDK 的示例
以下代码示例向您展示了如何使用AWS SDK for Java 2.x与执行操作和实现常见场景AWS KMS。
操作是大型程序的代码摘录,必须在上下文中运行。虽然操作向您展示了如何调用单个服务函数,但您可以在其相关场景和跨服务示例中查看操作的上下文。
场景是展示如何通过在同一服务中调用多个函数来完成特定任务的代码示例。
每个示例都包含一个链接GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例显示如何为 KMS 密钥创建授权。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static String createGrant(KmsClient kmsClient, String keyId, String granteePrincipal, String operation) { try { CreateGrantRequest grantRequest = CreateGrantRequest.builder() .keyId(keyId) .granteePrincipal(granteePrincipal) .operationsWithStrings(operation) .build(); CreateGrantResponse response = kmsClient.createGrant(grantRequest); return response.grantId(); }catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } return ""; }
-
有关 API 的详细信息,请参阅 CreateGrantAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示了如何创建AWS KMS key。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static String createKey(KmsClient kmsClient, String keyDesc) { try { CreateKeyRequest keyRequest = CreateKeyRequest.builder() .description(keyDesc) .customerMasterKeySpec(CustomerMasterKeySpec.SYMMETRIC_DEFAULT) .keyUsage("ENCRYPT_DECRYPT") .build(); CreateKeyResponse result = kmsClient.createKey(keyRequest); System.out.printf("Created a customer key with id \"%s\"%n", result.keyMetadata().arn()); return result.keyMetadata().keyId(); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } return ""; }
-
有关 API 的详细信息,请参阅 CreateKeyAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示如何为 KMS 密钥创建别名。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void createCustomAlias(KmsClient kmsClient, String targetKeyId, String aliasName) { try { CreateAliasRequest aliasRequest = CreateAliasRequest.builder() .aliasName(aliasName) .targetKeyId(targetKeyId) .build(); kmsClient.createAlias(aliasRequest); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 CreateAliasAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示如何解密由 KMS 密钥加密的密文。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void decryptData(KmsClient kmsClient, SdkBytes encryptedData, String keyId) { try { DecryptRequest decryptRequest = DecryptRequest.builder() .ciphertextBlob(encryptedData) .keyId(keyId) .build(); DecryptResponse decryptResponse = kmsClient.decrypt(decryptRequest); decryptResponse.plaintext(); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 AWS SDK for Java 2.xAPI 参考中的解密。
-
以下代码示例显示了如何描述 KMS 密钥。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void describeSpecifcKey(KmsClient kmsClient,String keyId ){ try { DescribeKeyRequest keyRequest = DescribeKeyRequest.builder() .keyId(keyId) .build(); DescribeKeyResponse response = kmsClient.describeKey(keyRequest); System.out.println("The key description is "+response.keyMetadata().description()); System.out.println("The key ARN is "+response.keyMetadata().arn()); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 DescribeKeyAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示了如何禁用 KMS 密钥。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void disableKey( KmsClient kmsClient, String keyId) { try { DisableKeyRequest keyRequest = DisableKeyRequest.builder() .keyId(keyId) .build(); kmsClient.disableKey(keyRequest); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 DisableKeyAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示如何启用 KMS 密钥。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void enableKey(KmsClient kmsClient, String keyId) { try { EnableKeyRequest enableKeyRequest = EnableKeyRequest.builder() .keyId(keyId) .build(); kmsClient.enableKey(enableKeyRequest); } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 EnableKeyAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示如何使用 KMS 密钥加密文本。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static SdkBytes encryptData(KmsClient kmsClient, String keyId) { try { SdkBytes myBytes = SdkBytes.fromByteArray(new byte[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}); EncryptRequest encryptRequest = EncryptRequest.builder() .keyId(keyId) .plaintext(myBytes) .build(); EncryptResponse response = kmsClient.encrypt(encryptRequest); String algorithm = response.encryptionAlgorithm().toString(); System.out.println("The encryption algorithm is " + algorithm); // Get the encrypted data. SdkBytes encryptedData = response.ciphertextBlob(); return encryptedData; } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } return null; }
-
有关 API 的详细信息,请参阅 AWS SDK for Java 2.xAPI 参考中的加密。
-
以下代码示例显示如何列出 KMS 密钥的别名。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void listAllAliases( KmsClient kmsClient) { try { ListAliasesRequest aliasesRequest = ListAliasesRequest.builder() .limit(15) .build(); ListAliasesResponse aliasesResponse = kmsClient.listAliases(aliasesRequest) ; List<AliasListEntry> aliases = aliasesResponse.aliases(); for (AliasListEntry alias: aliases) { System.out.println("The alias name is: "+alias.aliasName()); } } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 ListAliasesAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示如何列出 KMS 密钥的授权。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void displayGrantIds(KmsClient kmsClient, String keyId) { try { ListGrantsRequest grantsRequest = ListGrantsRequest.builder() .keyId(keyId) .limit(15) .build(); ListGrantsResponse response = kmsClient.listGrants(grantsRequest); List<GrantListEntry> grants = response.grants(); for ( GrantListEntry grant: grants) { System.out.println("The grant Id is : "+grant.grantId()); } } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 ListGrantsAWS SDK for Java 2.xAPI 参考文档。
-
以下代码示例显示了如何列出 KMS 密钥。
- SDK for Java 2.x
-
注意
还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 public static void listAllKeys(KmsClient kmsClient) { try { ListKeysRequest listKeysRequest = ListKeysRequest.builder() .limit(15) .build(); ListKeysResponse keysResponse = kmsClient.listKeys(listKeysRequest); List<KeyListEntry> keyListEntries = keysResponse.keys(); for (KeyListEntry key : keyListEntries) { System.out.println("The key ARN is: " + key.keyArn()); System.out.println("The key Id is: " + key.keyId()); } } catch (KmsException e) { System.err.println(e.getMessage()); System.exit(1); } }
-
有关 API 的详细信息,请参阅 ListKeysAWS SDK for Java 2.xAPI 参考文档。
-