

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 下載公有金鑰
<a name="download-public-key"></a>

您可以從 AWS KMS 主控台中的非對稱 KMS 金鑰對或使用 [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) 操作下載公有金鑰。若要下載公有金鑰，您必須擁有非對稱 KMS 金鑰的`kms:GetPublicKey`許可。

 AWS KMS 傳回的公有金鑰是 DER 編碼的 X.509 公有金鑰，也稱為 `SubjectPublicKeyInfo`(SPKI)，如 [RFC 5280 ](https://datatracker.ietf.org/doc/html/rfc5280)所定義。當您使用 HTTP API 或 時 AWS CLI，值為 Base64-encoded。否則，它不是 Base64-encoded。

若要從非對稱 KMS 金鑰對下載公有金鑰，您需要 `kms:GetPublicKey` 許可。如需 AWS KMS 許可的詳細資訊，請參閱 [許可參考](kms-api-permissions-reference.md)。

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

您可以使用 從 中的非對稱 KMS 金鑰 AWS 管理主控台 檢視、複製和下載公有金鑰 AWS 帳戶。若要從不同 的非對稱 KMS 金鑰下載公有金鑰 AWS 帳戶，請使用 AWS KMS API。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。

1. 選擇非對稱 KMS 金鑰的別名或金鑰 ID。

1. 選擇 **Cryptographic configuration** (密碼編譯組態) 索引標籤。記錄 **Key spec** (金鑰規格)、**Key usage** (金鑰使用情形) 和 **Encryption algorithms** (加密演算法) 或 **Signing Algorithms** (簽署演算法) 欄位的值。您需要使用這些值，才能在 外部使用公有金鑰 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..."
}
```