

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

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

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

f AWS Encryption SDK or Go 与其他一些编程语言实现的不同之处 AWS Encryption SDK 在于：
+ 不支持[数据密钥缓存](data-key-caching.md)。但是，fo AWS Encryption SDK r Go 支持[AWS KMS 分层密钥环](use-hierarchical-keyring.md)，这是一种替代的加密材料缓存解决方案。
+ 不支持流数据

fo AWS Encryption SDK r Go 包含 2.0 版本中引入的所有安全功能。 *x* 及更高版本的其他语言实现 AWS Encryption SDK。但是，如果您使用 for AWS Encryption SDK 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 的示例，请参阅上 aws-encryption-sdk存储库中的 [Go 示例](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/examples) GitHub。

**Topics**
+ [先决条件](#prerequisites-go)
+ [安装](#go-installation)

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

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

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

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

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

**安装最新版本**
+ 安装 fo AWS Encryption SDK r 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
  ```