下载公有密钥 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

下载公有密钥

您可以通过使用 Amazon Web Services Management Console或 Amazon KMS API,查看、复制和下载非对称 CMK 密钥对的公有密钥。必须具备对非对称 CMK 的 kms:GetPublicKey 权限。

每个非对称 CMK 密钥对均包含一个永远不会让 Amazon KMS 处于未加密状态的私有密钥,和一个可以下载和共享的公有密钥。

可以共享公有密钥,让其他人在 Amazon KMS 外部加密数据,但您只能用私有密钥解密数据。或者,允许其他人在 Amazon KMS 外部验证您使用私有密钥生成的数字签名。

在 Amazon KMS 内部使用非对称 CMK 中的公有密钥时,您将从每个 Amazon KMS 操作中包含的身份验证、授权和日志记录中获益。您还可以降低对无法解密的数据进行加密的风险。这些功能在 Amazon KMS 外部无效。有关详细信息,请参阅 下载公有密钥的特殊注意事项

下载公有密钥的特殊注意事项

为保护 CMK,Amazon KMS 提供了访问控制、身份验证加密和每个操作的详细日志。Amazon KMS 还允许您暂时或永久地阻止使用 CMK。最后,Amazon KMS 操作旨在最大限度降低对无法解密的数据进行加密的风险。在 Amazon KMS 外部使用下载的公有密钥时,这些功能不可用。

授权

密钥策略IAM 策略控制对 CMK 的访问权限Amazon KMS对外部执行的操作没有影响Amazon。任何可以获取公钥的用户都可以在Amazon KMS即使这些用户无权使用 CMK 加密数据或验证签名。

密钥用法限制

密钥用法限制在Amazon KMS。如果您调用Encrypt操作,该操作具有KeyUsageSIGN_VERIFY,Amazon KMS操作将失败。但是,如果您在Amazon KMS带有 CMK 的公有密钥KeyUsageSIGN_VERIFY,数据将无法解密。

算法限制

加密算法和签名算法Amazon KMS支持在外部无效Amazon KMS。如果您在外部使用 CMK 的公有密钥加密数据Amazon KMS,并使用Amazon KMS不支持,则无法解密数据。

禁用和删除 CMK

为阻止在 Amazon KMS 内的加密操作中使用 CMK 所能采取的措施,不会阻止任何人在 Amazon KMS 外部使用公有密钥。例如,禁用 CMK、调度删除 CMK、删除 CMK 或删除 CMK 的密钥材料,对 Amazon KMS 外部的公有密钥没有影响。如果删除非对称 CMK 或者删除或丢失其密钥材料,那么在 Amazon KMS 外部使用公有密钥加密的数据将无法恢复。

日志系统

记录每个 Amazon KMS 操作(包括请求、响应、日期、时间和授权用户)的 Amazon CloudTrail 日志,不会记录 Amazon KMS 外部公有密钥的使用情况。

下载公有密钥(控制台)

您可以将Amazon Web Services Management Console查看、复制和下载非对称 CMK 的公有密钥。 Amazon Web Services 账户 。要在不同的 CMK 下载非对称公有密钥 Amazon Web Services 账户 ,请使用Amazon KMSAPI。

  1. 登录到Amazon Web Services Management Console并打开Amazon Key Management Service(Amazon KMS) 控制台https://console.aws.amazon.com/kms

  2. 要更改Amazon区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择客户托管密钥

  4. 选择非对称 CMK 的别名或密钥 ID。

  5. 选择加密配置选项卡。记录密钥规范密钥用法, 和加密算法或者签名算法字段。您需要使用这些值才能在 Amazon KMS 外部使用公有密钥。在共享公有密钥时,请务必共享以上信息。

  6. 选择 Public key (公有密钥) 选项卡。

  7. 要将公有密钥复制到剪贴板,请选择 Copy (复制)。要将公有密钥下载到文件,请选择 Download (下载)

下载公有密钥 (Amazon KMSAPI)

GetPublickey 操作会返回非对称 CMK 中的公有密钥。它还会返回在 Amazon KMS 外部正确使用公有密钥所需的关键信息,包括密钥用法和加密算法。请务必保存这些值,并在共享公有密钥时共享它们。

本节中的示例使用Amazon Command Line Interface(Amazon CLI),但您可以使用任何受支持的编程语言。

要指定 CMK,请使用其密钥 ID密钥 ARN别名名称别名 ARN。使用别名时,应加上 alias/ 前缀。若要在不同的 Amazon Web Services 账户 ,您必须使用其密钥 ARN 或别名 ARN。

在运行此命令之前,请将示例别名替换为 CMK 的有效标识符。要运行此命令,必须具备对 CMK 的 kms:GetPublicKey 权限。

$ aws kms get-public-key --key-id alias/example_RSA_3072 { "CustomerMasterKeySpec": "RSA_3072", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "PublicKey": "MIIBojANBgkqhkiG..." }