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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

下载公有密钥

您可以从不对称的 CMK 使用 AWS 管理控制台 或 AWS KMS API。您必须 kms:GetPublicKey 对不对称的许可 CMK.

每种不对称的 CMK 配对包含从未离开的私钥 AWS KMS 未加密和您可下载和共享的公钥。

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

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

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

保护您的 CMKs, AWS KMS 提供访问控制、认证加密以及每次操作的详细日志。 AWS KMS 还允许您防止使用 CMKs,暂时或永久性的。最后,AWS KMS 操作旨在最大限度降低对无法解密的数据进行加密的风险。在 AWS KMS 外部使用下载的公有密钥时,这些功能不可用。

Authorization、*

关键政策IAM 政策 控制访问 CMK 内部 AWS KMS 对AWS以外执行的操作没有影响。任何可以获取公钥的用户都可以使用AWSKMS以外的其他用户,即使他们没有权限加密数据或验证签名 CMK.

密钥用法限制

密钥用法限制在 AWS KMS 之外是无效的。如果您致电 加密 使用 CMK 拥有 KeyUsageSIGN_VERIFY、 AWS KMS 操作失败。但如果您在AWSKMS以外的数据加密,则公钥为 CMK 拥有 KeyUsageSIGN_VERIFY,无法解密数据。

算法限制

对 AWS KMS 支持的加密算法和签名算法的限制,在 AWS KMS 之外是无效的。如果您使用公钥来加密数据 CMK 在AWSKMS之外使用加密算法 AWS KMS 不支持,数据无法解密。

禁用和删除 CMKs

为防止使用 CMK 在 AWS KMS 不要阻止任何人使用 AWS KMS. 例如,禁用 CMK,计划删除 CMK,删除 CMK,或删除 CMK 对公钥以外的公钥没有影响 AWS KMS. 如果您删除不对称的 CMK 或删除或丢失其关键材料,您在公钥外加密的数据 AWS KMS 不可恢复。

日志系统

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

下载公有密钥(控制台)

您可以使用 AWS 管理控制台 如何查看、复制和下载不对称的公钥 CMK 在您的 AWS 账户。从不对称下载公钥 CMK 不同 AWS 账户,使用 AWS KMS API。

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.amazonaws.cn/kms

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

  3. 在导航窗格中,选择 Customer managed keys (客户托管密钥)

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

  5. Cryptographic configuration (加密配置) 部分中,记录 Key spec (密钥规范)Key usage (密钥用法)Encryption algorithms (加密算法)Signing Algorithms (签名算法) 字段的值。您需要使用这些值才能在 AWS KMS 外部使用公有密钥。在共享公有密钥时,请务必共享以上信息。

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

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

下载公有密钥(AWS KMS API)

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

此部分中的示例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何受支持的编程语言。

要指定 CMK,使用 密钥ID关键ARN别名名称,或 别名ARN. 使用别名时,应加上 alias/ 前缀。要指定 CMK 在不同AWS帐户中,您必须使用其密钥ARN或别名ARN。

在运行此命令之前,将示例别名替换为 CMK. 要运行此命令,您必须 kms:GetPublicKey 权限 CMK.

$ 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..." }