

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

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

本主题介绍如何安装和使用 AWS Encryption SDK for Go。有关使用 f AWS Encryption SDK or Go 进行编程的详细信息，请参阅上的 aws-encryption-sdk 存储库的 [ go ](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/) 目录。 GitHub

 AWS Encryption SDK for Go 在以下方面不同于其他一些编程语言 AWS Encryption SDK 的实现：
+ 不支持[数据密钥缓存](data-key-caching.md)。但是， AWS Encryption SDK for Go 支持[AWS KMS 分层密钥环](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)。

f AWS Encryption SDK or Go 是 AWS Encryption SDK in [ Dafny 的产物](https://github.com/dafny-lang/dafny/blob/master/README.md)，这是一种形式化验证语言，你可以用它来编写规范、实现规范、实现规范、代码以及测试规范。结果为在确保功能正确性的框架中实施 AWS Encryption SDK 功能的库。

**了解更多**
+ 有关说明如何在中配置选项的示例 AWS Encryption SDK，例如指定备用算法套件、限制加密数据密钥和使用 AWS KMS 多区域密钥，请参阅[正在配置 AWS Encryption SDK](configure.md)。
+ 有关如何配置和使用 for Go 的示例，请参阅 aws-encryption-sdk 存储库[中的 ](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/examples) Go 示例。 AWS Encryption SDK GitHub

**Topics**
+ [先决条件](#prerequisites-go)
+ [安装](#go-installation)
+ [示例](go-examples.md)

## 先决条件
<a name="prerequisites-go"></a>

在安装 AWS Encryption SDK for Go 之前，请确保满足以下先决条件。

**支持的 Go 版本**  
Go 需要 Go 1.23 或更高版本 AWS Encryption SDK 。  
有关下载和安装 Go 的更多信息，请参阅 [ Go 安装](https://go.dev/doc/install)。

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

安装最新版本的 AWS Encryption SDK for Go。有关安装和构建 for Go 的 AWS Encryption SDK 详细信息，请参阅 aws-encryption-sdk 存储库的 go 目录中的。[ README.md ](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/README.md) GitHub

**安装最新版本**
+ 安装 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
  ```