

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

# 下载公有密钥
<a name="download-public-key"></a>

您可以在 AWS KMS 控制台或使用[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)操作从非对称 KMS 密钥对下载公钥。要下载公有密钥，您必须具备对非对称 KMS 密钥的 `kms:GetPublicKey` 权限。

 AWS KMS [返回的公钥是 DER 编码的 X.509 公钥，也称为 `SubjectPublicKeyInfo` (SPKI)，如 RFC 5280 中所定义。](https://datatracker.ietf.org/doc/html/rfc5280)当您使用 HTTP API 或时 AWS CLI，该值将采用 Base64 编码。否则，将不会采用 Base64 编码。

要下载非对称 KMS 密钥对的公有密钥，您必须具备 `kms:GetPublicKey` 权限。有关 AWS KMS 权限的更多信息，请参阅[权限参考](kms-api-permissions-reference.md)。

## 使用控制 AWS KMS 台
<a name="download-public-key-console"></a>

您可以使用查看、复制和下载您的 AWS 账户非对称 KMS 密钥中的公有密钥。 AWS 管理控制台 要从不同的非对称 KMS 密钥下载公钥 AWS 账户，请使用 AWS KMS API。

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/km](https://console.aws.amazon.com/kms) s 处打开 AWS Key Management Service (AWS KMS) 控制台。

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

1. 在导航窗格中，选择**客户托管密钥**。

1. 选择非对称 KMS 密钥的别名或密钥 ID。

1. 选择 **Cryptographic configuration**（加密配置）选项卡。记录**密钥规范**、**密钥用法**和**加密算法**或**签名算法**字段的值。你需要使用这些值才能在之外使用公钥 AWS KMS。在共享公有密钥时，请务必共享以上信息。

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

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

## 使用 AWS KMS API
<a name="download-public-key-api"></a>

该[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html)操作返回非对称 KMS 密钥中的公钥。它还会返回您需要在外部正确使用公钥的关键信息 AWS KMS，包括密钥使用情况和加密算法。请务必保存这些值，并在共享公有密钥时共享它们。

本部分中的示例使用 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)，但您可以使用任何受支持的编程语言。

要指定 KMS 密钥，请使用其[密钥 ID](concepts.md#key-id-key-id)、[密钥 ARN](concepts.md#key-id-key-ARN)、[别名名称](concepts.md#key-id-alias-name)或[别名 ARN](concepts.md#key-id-alias-ARN)。使用别名时，应加上 **alias/** 前缀。要在其他密钥中指定 KMS 密钥 AWS 账户，必须使用其密钥 ARN 或别名 ARN。

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

```
$ aws kms get-public-key --key-id alias/example_RSA_3072

{
    "KeySpec": "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..."
}
```