

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

# 正文其他经过身份验证的数据 (AAD) 参考 AWS Encryption SDK
<a name="body-aad-reference"></a>


|  | 
| --- |
|  本页面提供了在您构建与 AWS Encryption SDK兼容的加密库时可供参考的信息。如果您不需要构建自己的兼容加密库，则可能不需要此信息。 要 AWS Encryption SDK 在支持的编程语言之一中使用，请参阅[编程语言](programming-languages.md)。 有关定义适当 AWS Encryption SDK 实现要素的规范，请参阅中的[AWS Encryption SDK 规范](https://github.com/awslabs/aws-encryption-sdk-specification/) GitHub。  | 

对于每个加密操作，您必须为 [AES-GCM 算法](algorithms-reference.md)提供其他经过身份验证的数据 (AAD)。这适用于帧和非帧[正文数据](message-format.md#body-structure)。有关 AAD 及其在 Galois/Counter 模式 (GCM) 中的使用方式的更多信息，请参阅分[组密码操作模式建议： Galois/Counter 模式 (GCM) 和 G](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) MAC。

下表描述了组成正文 AAD 的字段。字节是按显示的顺序附加的。


**正文 AAD 结构**  

| 字段 | 长度（字节） | 
| --- | --- | 
| [Message ID](#body-aad-message-id) | 16 | 
| [Body AAD Content](#body-aad-content) | 变量。请参阅以下列表中的正文 AAD 内容。 | 
| [Sequence Number](#body-aad-sequence-number) | 4 | 
| [Content Length](#body-aad-content-length) | 8 | 

**消息 ID**  
在消息标头中设置的相同 [Message ID](message-format.md#header-message-id) 值。

**正文 AAD 内容**  
使用的正文数据类型确定的 UTF-8 编码值。  
对于[非帧数据](message-format.md#body-no-framing)，请使用 `AWSKMSEncryptionClient Single Block` 值。  
对于[帧数据](message-format.md#body-framing)中的常规帧，请使用 `AWSKMSEncryptionClient Frame` 值。  
对于[帧数据](message-format.md#body-framing)中的最终帧，请使用 `AWSKMSEncryptionClient Final Frame` 值。

**序列号**  
解释为 32 位无符号整数的 4 字节值。  
对于[帧数据](message-format.md#body-framing)，这是帧序列号。  
对于[非帧数据](message-format.md#body-no-framing)，请使用值 1（在十六进制表示法中编码为 4 字节 `00 00 00 01`）。

**内容长度**  
为加密算法提供的明文数据的长度（字节）。这是一个解释为 64 位无符号整数的 8 字节值。