

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

# AWS 加密 CLI 的版本
<a name="crypto-cli-versions"></a>

我们建议您使用最新版本的 AWS 加密 CLI。

**注意**  
[4.0.0 之前的 AWS 加密 CLI 版本处于该阶段。end-of-support](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)  
您无需更改任何代码或数据即可安全地从 AWS Encryption CLI 版本 2.1.*x* 及更高版本更新为最新版本。但是，版本 2.1.*x* 中引入了[新的安全功能](about-versions.md#version-2)，不向后兼容。从 1.7 版本更新。 *x* 或更早版本，必须先更新到最新的 1。 AWS 加密 CLI 的 *x* 版本。有关更多信息，请参阅 [迁移你的 AWS Encryption SDK](migration.md)。  
新的安全功能最初是在 AWS 加密 CLI 版本 1.7 中发布的。 *x* 和 2.0。 *x*。但是， AWS 加密 CLI 版本为 1.8。 *x* 取代了 1.7 版。 *x* 和 AWS 加密 CLI 2.1。 *x* 取代 2.0。 *x*。有关详细信息，请参阅[aws-encryption-sdk-cli](https://github.com/aws/aws-encryption-sdk-cli/)存储库中的相关[安全公告](https://github.com/aws/aws-encryption-sdk-cli/security/advisories/GHSA-2xwp-m7mq-7q3r) GitHub。

有关重要版本的信息 AWS Encryption SDK，请参见[的版本 AWS Encryption SDK](about-versions.md)。

**我使用哪个版本？**

如果您不熟悉加 AWS 密 CLI，请使用最新版本。

解密由 1.7 AWS Encryption SDK 之前版本加密的数据。 *x*，首先迁移到最新版本的 AWS 加密 CLI。在更新到 2.1.*x* 或更高版本之前，请执行[所有建议的更改](migration-guide.md)。有关更多信息，请参阅 [迁移你的 AWS Encryption SDK](migration.md)。

**了解详情**
+ 有关更改的详细信息以及迁移到这些新版本的指南，请参阅 [迁移你的 AWS Encryption SDK](migration.md)。
+ 有关新的 AWS 加密 CLI 参数和属性的描述，请参阅[AWS Encryption SDK CLI 语法和参数参考](crypto-cli-reference.md)。

以下列表描述了 1.8 版本中对 AWS 加密 CLI 的更改。 *x* 和 2.1。 *x*。

## 版本 1.8。 AWS 加密 CLI 的 *x* 项更改
<a name="cli-changes-1.7"></a>
+ 弃用 `--master-keys` 参数。请改用 `--wrapping-keys` 参数。
+ 添加 `--wrapping-keys` (`-w`) 参数。支持 `--master-keys` 参数的所有属性。还添加了以下可选属性，这些属性仅在使用 AWS KMS keys解密时才有效。
  + **discovery**
  + **discovery-partition**
  + **discovery-account**

  对于自定义主密钥提供程序，`--encrypt` 和 -`-decrypt` 命令需要使用 `--wrapping-keys` 参数或 `--master-keys` 参数（但不能两者同时使用）。此外，带的`--encrypt`命令 AWS KMS keys 需要`--wrapping-keys`参数或`--master-keys`参数（但不能两者兼而有之）。

  在带的`--decrypt`命令中 AWS KMS keys，`--wrapping-keys`参数是可选的，但建议使用，因为在 2.1 版本中它是必需的。 *x*。如果使用该参数，则必须指定 **key** 属性或值为 `true` 的 **discovery** 属性（但不能两者同时使用）。
+ 添加 `--commitment-policy` 参数。唯一有效值为 `forbid-encrypt-allow-decrypt`。`forbid-encrypt-allow-decrypt` 承诺策略用于所有加密和解密命令。

  在版本 1.8.*x* 中，当您使用 `--wrapping-keys` 参数时，需要使用值为 `forbid-encrypt-allow-decrypt` 的 `--commitment-policy` 参数。明确设置该值可防止您的[承诺策略](concepts.md#commitment-policy)在升级到版本 2.1.*x* 时自动更改为 `require-encrypt-require-decrypt`。

## 版本 2.1。 AWS 加密 CLI 的 *x* 项更改
<a name="cli-changes-2.x"></a>
+ 移除 `--master-keys` 参数。请改用 `--wrapping-keys` 参数。
+ 在所有加密和解密命令中需要使用 `--wrapping-keys` 参数。必须指定 **key** 属性或值为 `true` 的 **discovery** 属性（但不能两者同时使用）。
+ `--commitment-policy` 参数支持以下值。有关更多信息，请参阅 [设置您的承诺策略](migrate-commitment-policy.md)。
  + `forbid-encrypt-allow-decrypt`
  + `require-encrypt-allow-decrypt`
  + `require-encrypt-require decrypt`（默认值）
+ 在版本 2.1.*x* 中，`--commitment-policy` 参数是可选的。默认值为 `require-encrypt-require-decrypt`。

## 版本 1.9。 *x* 和 2.2。 AWS 加密 CLI 的 *x* 项更改
<a name="cli-changes-2.2"></a>
+ 添加 `--decrypt-unsigned` 参数。有关更多信息，请参阅 [版本 2.2.*x*](about-versions.md#version2.2.x)。
+ 添加 `--buffer` 参数。有关更多信息，请参阅 [版本 2.2.*x*](about-versions.md#version2.2.x)。
+ 添加 `--max-encrypted-data-keys` 参数。有关更多信息，请参阅 [限制加密数据密钥](configure.md#config-limit-keys)。

## 版本 3.0。 AWS 加密 CLI 的 *x* 项更改
<a name="cli-changes-v3"></a>
+ 增加了对 AWS KMS 多区域密钥的支持。有关详细信息，请参阅[使用多区域 AWS KMS keys](configure.md#config-mrks)。