

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

# AWS Encryption SDK for Go
<a name="go"></a>

本主題說明如何安裝和使用 AWS Encryption SDK for Go。如需使用 AWS Encryption SDK for Go 進行程式設計的詳細資訊，請參閱 GitHub 上 aws-encryption-sdk 儲存庫的 [go](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/) 目錄。

 AWS Encryption SDK for Go 與 的一些其他程式設計語言實作 AWS Encryption SDK 有以下不同：
+ 不支援[資料金鑰快取](data-key-caching.md)。不過， AWS Encryption SDK for Go 支援[AWS KMS 階層式 keyring](use-hierarchical-keyring.md)，這是替代的密碼編譯資料快取解決方案。
+ 不支援串流資料

 AWS Encryption SDK for Go 包含 2.0.*x* 版和更新版本中引入的所有安全功能，以及 的其他語言實作 AWS Encryption SDK。不過，如果您使用 AWS Encryption SDK for Go 來解密由 2.0.*x* 前版本另一個語言實作所加密的資料 AWS Encryption SDK，您可能需要調整您的[承諾政策](concepts.md#commitment-policy)。如需詳細資訊，請參閱[如何設定您的承諾政策](migrate-commitment-policy.md#migrate-commitment-step1)。

 AWS Encryption SDK for Go 是 [Dafny](https://github.com/dafny-lang/dafny/blob/master/README.md) AWS Encryption SDK 中的產品，這是一種正式的驗證語言，您可以在其中撰寫規格、實作它們的程式碼，以及測試它們的證明。結果是程式庫，可在架構中實作 的功能 AWS Encryption SDK ，以確保功能正確性。

**進一步了解**
+ 如需示範如何在 中設定選項的範例 AWS Encryption SDK，例如指定替代演算法套件、限制加密的資料金鑰，以及使用 AWS KMS 多區域金鑰，請參閱 [設定 AWS Encryption SDK](configure.md)。
+ 如需示範如何設定和使用 AWS Encryption SDK for Go 的範例，請參閱 GitHub 上 aws-encryption-sdk 儲存庫中的 [Go 範例](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/examples)。

**Topics**
+ [先決條件](#prerequisites-go)
+ [安裝](#go-installation)

## 先決條件
<a name="prerequisites-go"></a>

安裝 AWS Encryption SDK for Go 之前，請確定您有下列先決條件。

**支援的 Go 版本**  
適用於 Go 的 需要 Go 1 AWS Encryption SDK .23 或更新版本。  
如需下載和安裝 Go 的詳細資訊，請參閱 [Go 安裝](https://go.dev/doc/install)。

## 安裝
<a name="go-installation"></a>

安裝最新版本的 AWS Encryption SDK for Go。如需安裝和建置 AWS Encryption SDK for Go 的詳細資訊，請參閱 GitHub 上 aws-encryption-sdk 儲存庫的 go 目錄中的 [README.md](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/README.md)：//。

**若要安裝最新版本**
+ 安裝 AWS Encryption SDK for Go

  ```
  go get github.com/aws/aws-encryption-sdk/releases/go/encryption-sdk@latest
  ```
+ 安裝[密碼編譯材料提供者程式庫](https://github.com/aws/aws-cryptographic-material-providers-library) (MPL)

  ```
  go get github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl
  ```