

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Versioni di AWS Encryption SDK
<a name="about-versions"></a>

Le implementazioni del AWS Encryption SDK linguaggio utilizzano il controllo [ semantico delle versioni ](https://semver.org/) per facilitare l'identificazione dell'entità delle modifiche in ogni versione. Una modifica nel numero della versione principale, ad esempio 1. *x*. **da x a 2. *x*. *x*, indica una modifica sostanziale che potrebbe richiedere modifiche al codice e una distribuzione pianificata. L'interruzione delle modifiche apportate a una nuova versione potrebbe non influire su tutti i casi d'uso, consulta le note di rilascio per vedere se questo è il problema. Una modifica in una versione secondaria, ad esempio * x * .1. **da x a * x * .2. *x*, è sempre compatibile con le versioni precedenti, ma potrebbe includere elementi obsoleti.

Quando possibile, usa la versione più recente di AWS Encryption SDK nel linguaggio di programmazione prescelto. La politica [ di manutenzione e supporto ](introduction.md#support) per ciascuna versione varia a seconda delle implementazioni del linguaggio di programmazione. Per informazioni dettagliate sulle versioni supportate nel linguaggio di programmazione preferito, consultate il `SUPPORT_POLICY.rst` file nel relativo [ GitHub archivio. ](introduction.md#esdk-repos)

Quando gli aggiornamenti includono nuove funzionalità che richiedono una configurazione speciale per evitare errori di crittografia o decrittografia, forniamo una versione intermedia e istruzioni dettagliate per l'utilizzo. Ad esempio, le versioni 1.7. *x * e 1.8. *x * sono progettate per essere versioni transitorie che consentono di eseguire l'aggiornamento da versioni precedenti alla 1.7. *x * alle versioni 2.0. *x * e versioni successive. Per informazioni dettagliate, vedi [Migrazione del tuo AWS Encryption SDK](migration.md).

**Nota**  
La * x * in un numero di versione rappresenta qualsiasi patch della versione principale e secondaria. Ad esempio, la versione 1.7. *x * rappresenta tutte le versioni che iniziano con 1.7, incluse 1.7.1 e 1.7.9.  
Le nuove funzionalità di sicurezza sono state originariamente rilasciate nelle versioni 1.7 di AWS Encryption CLI. *x * e 2.0. *x*. Tuttavia, AWS Encryption CLI versione 1.8. *x * sostituisce la versione 1.7. *x * e AWS Encryption CLI 2.1. *x * sostituisce 2.0. *x. * Per i dettagli, consulta l'avviso di [ sicurezza pertinente ](https://github.com/aws/aws-encryption-sdk-cli/security/advisories/GHSA-2xwp-m7mq-7q3r) nel repository [https://github.com/aws/aws-encryption-sdk-cli/](https://github.com/aws/aws-encryption-sdk-cli/) aws-encryption-sdk-cli su. GitHub

Le tabelle seguenti forniscono una panoramica delle principali differenze tra le versioni supportate di per ciascun linguaggio di programmazione. AWS Encryption SDK 

## C
<a name="esdk-c-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta il [ CHANGELOG.md ](https://github.com/aws/aws-encryption-sdk-c/blob/master/CHANGELOG.md) repository [https://github.com/aws/aws-encryption-sdk-c/](https://github.com/aws/aws-encryption-sdk-c/) aws-encryption-sdk-c su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 1,7 | Aggiornamenti AWS Encryption SDK che aiutano gli utenti delle versioni precedenti a passare alle versioni 2.0. x  e versioni successive. Per ulteriori informazioni, vedere [ la versione 1.7. *x *](#version-1.7). | 
| 2.x  | 2.0 | Aggiornamenti a. AWS Encryption SDK Per ulteriori informazioni, vedere [ la versione 2.0. *x *](#version-2). | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 
| 2.2 | Miglioramenti al processo di decrittografia dei messaggi. | 
| 2.3 | Aggiunge il supporto per le chiavi AWS KMS multiregionali. | 

## C\#/.NET
<a name="esdk-dot-net-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, vedi [ CHANGELOG.md ](https://github.com/aws/aws-encryption-sdk/tree/mainline/AwsEncryptionSDK/runtimes/net/CHANGELOG.md) nel [`aws-encryption-sdk-net`](https://github.com/aws/aws-encryption-sdk/tree/mainline/AwsEncryptionSDK/runtimes/net/) repository su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 3.x  | 3.1.0 | Versione iniziale. | [End-of-Support](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) <br />[La versione 3.x di AWS Encryption SDK for .NET ](https://www.nuget.org/packages/AWS.EncryptionSDK) è giunta alla fine del supporto; esegui [ l'aggiornamento alla 4.x. ](https://www.nuget.org/packages/AWS.Cryptography.EncryptionSDK) | 
| 4. x  | 4.0 | Aggiunge il supporto per il portachiavi AWS KMS gerarchico, il contesto di crittografia richiesto CMM e i portachiavi RSA asimmetrici. AWS KMS  | [Disponibilità generale (GA) ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 5.x  | 5.0 | Aggiornamenti alla versione 2. x  della Material Providers Library (MPL). Elimina il supporto per l' AWS SDK per .NET v3 e richiede l' AWS SDK per .NET v4. | [Disponibilità generale (GA) ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 

## Interfaccia a riga di comando (CLI)
<a name="esdk-cli-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta [Versioni della CLI AWS di crittografia](crypto-cli-versions.md) il repository [ CHANGELOG.rst ](https://github.com/aws/aws-encryption-sdk-cli/blob/master/CHANGELOG.rst) [https://github.com/aws/aws-encryption-sdk-cli/](https://github.com/aws/aws-encryption-sdk-cli/) aws-encryption-sdk-cli attivo. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 1,7 | Aggiornamenti AWS Encryption SDK che aiutano gli utenti delle versioni precedenti a passare alle versioni 2.0. x  e versioni successive. Per ulteriori informazioni, vedere [ la versione 1.7. *x *](#version-1.7). | 
| 2.x  | 2.0 | Aggiornamenti a. AWS Encryption SDK Per ulteriori informazioni, vedere [ la versione 2.0. *x *](#version-2). | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 2.1 | Rimuove il `--discovery` parametro e lo sostituisce con l'`discovery`attributo del `--wrapping-keys` parametro.<br />La versione 2.1.0 dell' AWS Encryption CLI è equivalente alla versione 2.0 in altri linguaggi di programmazione. | 
| 2.2 | Miglioramenti al processo di decrittografia dei messaggi. | 
| 3.x  | 3.0 | Aggiunge il supporto per le chiavi AWS KMS multiregionali. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 4.x  | 4.0 | L' AWS Encryption CLI non supporta più Python 2 o Python 3.4. A partire dalla versione principale 4. x  della AWS Encryption CLI, è supportato solo Python 3.5 o successivo. | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 
| 4.1 | L' AWS Encryption CLI non supporta più Python 3.5. A partire dalla versione 4.1. x  della AWS Encryption CLI, è supportato solo Python 3.6 o successivo. | 
| 4.2 | L' AWS Encryption CLI non supporta più Python 3.6. A partire dalla versione 4.2. x  della AWS Encryption CLI, è supportato solo Python 3.7 o versioni successive. | 

## Java
<a name="esdk-java-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta il repository [ CHANGELOG.rst ](https://github.com/aws/aws-encryption-sdk-java/blob/master/CHANGELOG.md) [https://github.com/aws/aws-encryption-sdk-java/](https://github.com/aws/aws-encryption-sdk-java/) aws-encryption-sdk-java su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 1.3 | Aggiunge il supporto per la gestione dei materiali crittografici e la memorizzazione nella cache delle chiavi di dati. È passato alla IV generazione deterministica. | 
| 1.6.1 | Depreca `AwsCrypto.encryptString()` e li sostituisce con `AwsCrypto.decryptString()` and. `AwsCrypto.encryptData()` `AwsCrypto.decryptData()` | 
| 1,7 | Aggiornamenti a AWS Encryption SDK che aiutano gli utenti delle versioni precedenti a passare alle versioni 2.0. x  e versioni successive. Per ulteriori informazioni, vedere [ la versione 1.7. *x *](#version-1.7). | 
| 2.x  | 2.0 | Aggiornamenti a. AWS Encryption SDK Per ulteriori informazioni, vedere [ la versione 2.0. *x *](#version-2). | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA)<br />La versione 2.x SDK di crittografia AWS per Java entrerà in modalità manutenzione nel 2024. | 
| 2.2 | Miglioramenti al processo di decrittografia dei messaggi. | 
| 2.3 | Aggiunge il supporto per le chiavi AWS KMS multiregionali. | 
| 2.4 | Aggiunge il supporto per AWS SDK for Java 2.x. | 
| 3.x  | 3.0 | Si integra SDK di crittografia AWS per Java con la [ Material Providers Library ](https://github.com/aws/aws-cryptographic-material-providers-library) (MPL).<br />Aggiunge il supporto per portachiavi RSA simmetrici e asimmetrici, portachiavi AWS KMS ECDH, AWS KMS portachiavi AWS KMS gerarchici, portachiavi Raw AES, portachiavi Raw RSA, portachiavi Raw ECDH e il contesto di crittografia richiesto CMM. Multi-keyrings | [Disponibilità generale (GA) ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 

## Go
<a name="esdk-go-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta [ CHANGELOG.md ](https://github.com/aws/aws-encryption-sdk/tree/mainline/releases/go/encryption-sdk/CHANGELOG.md) nella directory Go del repository [https://github.com/aws/aws-encryption-sdk/tree/mainline](https://github.com/aws/aws-encryption-sdk/tree/mainline) aws-encryption-sdk su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 0.1. x   | 0.1.0 | Versione iniziale. | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 

## JavaScript
<a name="esdk-javascript-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta il [ CHANGELOG.md ](https://github.com/aws/aws-encryption-sdk-javascript/blob/master/CHANGELOG.md) repository [https://github.com/aws/aws-encryption-sdk-javascript/tree/master/modules](https://github.com/aws/aws-encryption-sdk-javascript/tree/master/modules) aws-encryption-sdk-javascript su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 1,7 | Aggiornamenti AWS Encryption SDK che aiutano gli utenti delle versioni precedenti a passare alle versioni 2.0. x  e versioni successive. Per ulteriori informazioni, vedere [ la versione 1.7. *x *](#version-1.7). | 
| 2.x  | 2.0 | Aggiornamenti a. AWS Encryption SDK Per ulteriori informazioni, vedere [ la versione 2.0. *x *](#version-2). | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 2.2 | Miglioramenti al processo di decrittografia dei messaggi. | 
| 2.3 | Aggiunge il supporto per le chiavi AWS KMS multiregionali. | 
| 3.x  | 3.0 | Rimuove la copertura CI per il nodo 10. Aggiorna le dipendenze in modo che non supportino più il nodo 8 e il nodo 10. | [Maintenance](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (Manutenzione)<br />Il supporto per la versione 3.x del SDK di crittografia AWS per JavaScript terminerà il 17 gennaio 2024. | 
| 4.x  | 4.0 | Richiede la versione 3 di SDK di crittografia AWS per JavaScript's kms-client per utilizzare il AWS KMS portachiavi. | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 

## Python
<a name="esdk-python-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta il [ CHANGELOG.rst ](https://github.com/aws/aws-encryption-sdk-python/blob/master/CHANGELOG.rst) repository [https://github.com/aws/aws-encryption-sdk-python/](https://github.com/aws/aws-encryption-sdk-python/) aws-encryption-sdk-python su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 1.3 | Aggiunge il supporto per la gestione dei materiali crittografici e la memorizzazione nella cache delle chiavi di dati. È passato alla IV generazione deterministica. | 
| 1,7 | Aggiornamenti AWS Encryption SDK che aiutano gli utenti delle versioni precedenti a passare alle versioni 2.0. x  e versioni successive. Per ulteriori informazioni, vedere [ la versione 1.7. *x *](#version-1.7). | 
| 2.x  | 2.0 | Aggiornamenti a. AWS Encryption SDK Per ulteriori informazioni, vedere [ la versione 2.0. *x *](#version-2). | [End-of-Support fase ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) | 
| 2.2 | Miglioramenti al processo di decrittografia dei messaggi. | 
| 2.3 | Aggiunge il supporto per le chiavi AWS KMS multiregionali. | 
| 3.x  | 3.0 |  SDK di crittografia AWS per Python Non supporta più Python 2 o Python 3.4. A partire dalla versione principale 3. x  di SDK di crittografia AWS per Python, è supportato solo Python 3.5 o successivo. | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 
| 4.x  | 4.0 | Si integra SDK di crittografia AWS per Python con la [ Material Providers Library ](https://github.com/aws/aws-cryptographic-material-providers-library) (MPL). | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 

## Rust
<a name="esdk-rust-versions"></a>

Per una descrizione dettagliata di tutte le modifiche, consulta [ CHANGELOG.md ](https://github.com/aws/aws-encryption-sdk-dafny/tree/mainline/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md) nella directory Rust del repository [https://github.com/aws/aws-encryption-sdk/tree/mainline](https://github.com/aws/aws-encryption-sdk/tree/mainline) aws-encryption-sdk su. GitHub


| 
| 
| **Versione principale ** | **Dettagli** | **Fase del ciclo di vita della versione principale dell'SDK ** | 
| --- |--- |--- |
| 1.x  | 1.0 | Versione iniziale. | [Disponibilità generale ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) (GA) | 

## Dettagli della versione
<a name="version-details"></a>

L'elenco seguente descrive le principali differenze tra le versioni supportate di AWS Encryption SDK.

**Topics**
+ [Versioni precedenti alla 1.7.*x*](#versions-earlier)
+ [Versione 1.7.*x*](#version-1.7)
+ [Versione 2.0.*x*](#version-2)
+ [Versione 2.2.*x*](#version2.2.x)
+ [Versione 2.3.*x*](#version2.3)

### Versioni precedenti alla 1.7.*x*
<a name="versions-earlier"></a>

**Nota**  
Tutte 1. *x*. **Le versioni x di AWS Encryption SDK sono in fase di [ fine supporto. ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle) Effettua l'aggiornamento all'ultima versione disponibile di AWS Encryption SDK per il tuo linguaggio di programmazione non appena possibile. Per effettuare l'aggiornamento da una AWS Encryption SDK versione precedente alla 1.7. *x*, è necessario prima eseguire l'aggiornamento alla 1.7. *x*. Per informazioni dettagliate, vedi [Migrazione del tuo AWS Encryption SDK](migration.md).

Versioni AWS Encryption SDK precedenti alla 1.7. *x * forniscono importanti funzionalità di sicurezza, tra cui la crittografia con l'algoritmo Advanced Encryption Standard in Galois/Counter Mode (AES-GCM), una funzione di HMAC-based estrazione ed espansione della chiave (HKDF), la firma e una chiave di crittografia a 256 bit. Tuttavia, queste versioni non supportano le [ best practice consigliate, incluso il key commitment. ](best-practices.md) [Impegno chiave](concepts.md#key-commitment) 

### Versione 1.7.*x*
<a name="version-1.7"></a>

**Nota**  
Tutto 1. *x*. **Le versioni x di AWS Encryption SDK sono in fase di [ fine supporto. ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)

Versione 1.7. *x * è progettato per aiutare gli utenti delle versioni precedenti di AWS Encryption SDK ad effettuare l'aggiornamento alle versioni 2.0. *x * e versioni successive. Se non conosci il AWS Encryption SDK, puoi saltare questa versione e iniziare con l'ultima versione disponibile nel tuo linguaggio di programmazione.

Versione 1.7. *x * è completamente compatibile con le versioni precedenti; non introduce modifiche sostanziali né modifica il comportamento di. AWS Encryption SDKÈ anche compatibile con le versioni successive; consente di aggiornare il codice in modo che sia compatibile con la versione 2.0. *x. * Include nuove funzionalità, ma non le abilita completamente. Inoltre, richiede valori di configurazione che impediscano l'adozione immediata di tutte le nuove funzionalità finché non si è pronti.

Versione 1.7. *x * include le seguenti modifiche:

**AWS KMS aggiornamenti del master key provider (obbligatori)**  <a name="changes-to-mkps"></a>
Versione 1.7. *x * introduce nuovi costruttori in SDK di crittografia AWS per Java and SDK di crittografia AWS per Python che creano esplicitamente fornitori di chiavi AWS KMS master in modalità * strict * o * discovery. * Questa versione aggiunge modifiche simili all'interfaccia a AWS Encryption SDK riga di comando (CLI). Per informazioni dettagliate, vedi [Aggiornamento dei provider di chiavi AWS KMS principali](migrate-mkps-v2.md).  
+ In modalità * rigorosa*, i provider di chiavi AWS KMS master richiedono un elenco di chiavi di wrapping e crittografano e decrittografano solo con le chiavi di wrapping specificate dall'utente. Si tratta di una procedura AWS Encryption SDK consigliata che garantisce l'utilizzo delle chiavi di wrapping che si intende utilizzare. 
+ In modalità * discovery*, i provider di chiavi AWS KMS master non accettano alcuna chiave di wrapping. Non è possibile utilizzarli per la crittografia. Durante la decrittografia, possono utilizzare qualsiasi chiave di wrapping per decrittografare una chiave di dati crittografata. Tuttavia, è possibile limitare le chiavi di wrapping utilizzate per la decrittografia a quelle in particolare. Account AWS Il filtraggio degli account è facoltativo, ma è una procedura [Le migliori pratiche per AWS Encryption SDK](best-practices.md) consigliata.
I costruttori che creano versioni precedenti dei provider di chiavi AWS KMS master sono obsoleti nella versione 1.7. *x * e rimosso nella versione 2.0. *x*. Questi costruttori creano un'istanza di provider di chiavi master che crittografano utilizzando le chiavi di wrapping specificate. Tuttavia, decifrano le chiavi di dati crittografate utilizzando la chiave di wrapping che le ha crittografate, indipendentemente dalle chiavi di wrapping specificate. Gli utenti potrebbero decifrare involontariamente i messaggi con chiavi di wrapping che non intendono utilizzare, anche in altre aree geografiche. AWS KMS keys Account AWS   
Non sono previste modifiche ai costruttori per le chiavi master. AWS KMS Durante la crittografia e la decrittografia, le chiavi AWS KMS master utilizzano solo le chiavi specificate AWS KMS key .

**AWS KMS aggiornamenti del portachiavi (opzionale)**  
Versione 1.7. *x * aggiunge un nuovo filtro alle SDK di crittografia AWS per JavaScript implementazioni SDK di crittografia AWS per C and che limita il [AWS KMS rilevamento dei portachiavi ](use-kms-keyring.md#kms-keyring-discovery) a determinati oggetti. Account AWS Questo nuovo filtro per gli account è facoltativo, ma è una procedura [Le migliori pratiche per AWS Encryption SDK](best-practices.md) consigliata. Per informazioni dettagliate, vedi [Aggiornamento dei AWS KMS portachiavi](migrate-keyrings-v2.md).  
Non sono previste modifiche ai costruttori per i AWS KMS portachiavi. I AWS KMS portachiavi standard si comportano come fornitori di chiavi master in modalità rigorosa. AWS KMS i portachiavi discovery vengono creati esplicitamente in modalità discovery. 

**Passare un ID chiave a Decrypt AWS KMS **  
A partire dalla versione 1.7. *x*, durante la decrittografia di chiavi di dati crittografate, specifica AWS Encryption SDK sempre an AWS KMS key nelle sue chiamate all' AWS KMS [operazione Decrypt. ](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS Encryption SDK Ottiene il valore ID della chiave AWS KMS key dai metadati di ogni chiave di dati crittografata. Questa funzionalità non richiede modifiche al codice.  
Specificare l'ID della chiave di non AWS KMS key è necessario per decrittografare il testo cifrato con una chiave KMS di crittografia simmetrica, ma è una procedura consigliata. [AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html#KMS-Decrypt-request-KeyId) Analogamente a specificare le chiavi di wrapping nel proprio fornitore di chiavi, questa pratica garantisce che la decodifica venga eseguita solo utilizzando la chiave di wrapping che si intende utilizzare AWS KMS .

**Decifra il testo cifrato con key commit**  
Versione 1.7. *x * può decifrare il testo cifrato crittografato con o senza l'impegno della chiave. [Impegno chiave](concepts.md#key-commitment) Tuttavia, non è in grado di crittografare il testo cifrato con l'impegno della chiave. Questa proprietà consente di distribuire completamente le applicazioni in grado di decrittografare il testo cifrato crittografato con l'impegno della chiave prima che incontrino tale testo cifrato. Poiché questa versione decrittografa i messaggi crittografati senza l'impegno della chiave, non è necessario crittografare nuovamente alcun testo cifrato.  
Per implementare questo comportamento, la versione 1.7. *x * include una nuova impostazione di [ configurazione dei criteri di ](concepts.md#commitment-policy) impegno che determina se è AWS Encryption SDK possibile crittografare o decrittografare con key commit. Nella versione 1.7. *x*, l'unico valore valido per la policy di impegno`ForbidEncryptAllowDecrypt`, viene utilizzato in tutte le operazioni di crittografia e decrittografia. Questo valore AWS Encryption SDK impedisce la crittografia con una delle nuove suite di algoritmi che includono l'impegno delle chiavi. Consente di AWS Encryption SDK decrittografare il testo cifrato con e senza l'impegno della chiave.   
Sebbene nella versione 1.7 sia presente un solo valore valido per la politica di impegno. *x*, è necessario che tu possa impostare questo valore in modo esplicito quando usi le nuove API introdotte in questa versione. L'impostazione del valore impedisce in modo esplicito alla politica di impegno di cambiare automaticamente `require-encrypt-require-decrypt` quando si esegue l'aggiornamento alla versione 2.1. *x. * Invece, puoi [ migrare la tua politica di impegno ](migrate-commitment-policy.md) in più fasi.

**Suite di algoritmi con impegno chiave**  
Versione 1.7. *x * include due nuove suite di [ algoritmi ](supported-algorithms.md) che supportano l'impegno chiave. Una include la firma, l'altra no. Come le suite di algoritmi supportate in precedenza, entrambe le nuove suite di algoritmi includono la crittografia con AES-GCM, una chiave di crittografia a 256 bit e una HMAC-based funzione di derivazione della chiave di estrazione ed espansione (HKDF).  
Tuttavia, la suite di algoritmi predefinita utilizzata per la crittografia non cambia. Queste suite di algoritmi vengono aggiunte alla versione 1.7. *x * per preparare l'applicazione a utilizzarle nelle versioni 2.0. *x * e versioni successive. 

**Modifiche all'implementazione della CMM**  
Versione 1.7. *x * introduce modifiche all'interfaccia CMM (Default Cryptographic Materials Manager) per supportare l'impegno delle chiavi. Questa modifica riguarda l'utente solo se è stata scritta una CMM personalizzata. Per informazioni dettagliate, consultate la documentazione o l' GitHub archivio delle API per il vostro [ linguaggio di programmazione. ](programming-languages.md)

### Versione 2.0.*x*
<a name="version-2"></a>

Versione 2.0. *x * supporta le nuove funzionalità di sicurezza offerte in AWS Encryption SDK, incluse le chiavi di wrapping specificate e l'impegno chiave. Per supportare queste funzionalità, è disponibile la versione 2.0. *x * include modifiche sostanziali per le versioni precedenti di AWS Encryption SDK. Puoi prepararti a queste modifiche implementando la versione 1.7. *x. * Versione 2.0. *x * include tutte le nuove funzionalità introdotte nella versione 1.7. *x * con le seguenti aggiunte e modifiche.

**Nota**  
Versione 2. *x*. *x * di SDK di crittografia AWS per Python SDK di crittografia AWS per JavaScript, e l' AWS Encryption CLI sono in fase di [ fine supporto. ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)  
Per informazioni sul [ supporto e la manutenzione ](introduction.md#support) di questa AWS Encryption SDK versione nel linguaggio di programmazione preferito, consultate il `SUPPORT_POLICY.rst` file nel relativo archivio. [ GitHub ](introduction.md#esdk-repos)

**AWS KMS fornitori di chiavi principali**  
I costruttori originali del fornitore di chiavi AWS KMS master che erano obsoleti nella versione 1.7. *x * vengono rimossi nella versione 2.0. *x*. È necessario creare in modo esplicito i provider di chiavi AWS KMS master in modalità [ rigorosa o in modalità di rilevamento. ](migrate-mkps-v2.md)

**Crittografa e decrittografa il testo cifrato con key commitment**  
Versione 2.0. *x * è in grado di crittografare e decrittografare testo cifrato con o senza l'impegno della chiave. [Impegno chiave](concepts.md#key-commitment) Il suo comportamento è determinato dall'impostazione della politica di impegno. Per impostazione predefinita, crittografa sempre con key commit e decrittografa solo il testo cifrato crittografato con key commit. A meno che non si modifichi la politica di impegno, non AWS Encryption SDK decrittograferà i testi cifrati crittografati da nessuna versione precedente di, inclusa la versione 1.7. AWS Encryption SDK*x. *  
Per impostazione predefinita, la versione 2.0. *x non * decifrerà alcun testo cifrato crittografato senza l'impegno della chiave. Se l'applicazione dovesse riscontrare un testo cifrato crittografato senza l'impegno della chiave, imposta un valore per la policy di impegno con. `AllowDecrypt`
Nella versione 2.0. *x*, l'impostazione della politica di impegno ha tre valori validi:  
+ `ForbidEncryptAllowDecrypt`— AWS Encryption SDK Impossibile crittografare con l'impegno della chiave. Può decrittografare testi cifrati crittografati con o senza l'impegno della chiave. 
+ `RequireEncryptAllowDecrypt`— AWS Encryption SDK Deve crittografare con l'impegno della chiave. Può decrittografare testi cifrati crittografati con o senza impegno di chiave. 
+ `RequireEncryptRequireDecrypt`(impostazione predefinita): AWS Encryption SDK deve crittografare con l'impegno della chiave. Decifra solo i testi cifrati con key commitment. 
Se stai migrando da una versione precedente di alla versione 2.0. AWS Encryption SDK *x*, imposta la policy di impegno su un valore che assicuri di poter decrittografare tutti i testi cifrati esistenti che l'applicazione potrebbe incontrare. È probabile che modifichi questa impostazione nel tempo.

### Versione 2.2.*x*
<a name="version2.2.x"></a>

Aggiunge il supporto per le firme digitali e limita le chiavi di dati crittografate.

**Nota**  
Versione 2. *x*. *x * di SDK di crittografia AWS per Python SDK di crittografia AWS per JavaScript, e l' AWS Encryption CLI sono in fase di [ fine supporto. ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)  
Per informazioni sul [ supporto e la manutenzione ](introduction.md#support) di questa AWS Encryption SDK versione nel linguaggio di programmazione preferito, consultate il `SUPPORT_POLICY.rst` file nel relativo archivio. [ GitHub ](introduction.md#esdk-repos)

**Firme digitali**  
Per migliorare la gestione delle firme [ digitali ](concepts.md#digital-sigs) durante la decrittografia, AWS Encryption SDK include le seguenti funzionalità:  
+ *Non-streaming modalità*: restituisce il testo in chiaro solo dopo aver elaborato tutti gli input, inclusa la verifica della firma digitale, se presente. Questa funzionalità impedisce di utilizzare il testo in chiaro prima di verificare la firma digitale. Utilizzate questa funzionalità ogni volta che decifrate i dati crittografati con firme digitali (la suite di algoritmi predefinita). Ad esempio, poiché l' AWS Encryption CLI elabora sempre i dati in modalità streaming, utilizzate il `- -buffer` parametro per decrittografare testo cifrato con firme digitali.
+ *Unsigned-only modalità * di decrittografia: questa funzionalità decrittografa solo testo cifrato non firmato. Se la decrittografia rileva una firma digitale nel testo cifrato, l'operazione non riesce. Utilizzate questa funzionalità per evitare l'elaborazione involontaria del testo in chiaro dei messaggi firmati prima di verificare la firma.

**Limitazione delle chiavi di dati crittografate**  
È possibile [ limitare il numero di chiavi di dati crittografate ](configure.md#config-limit-keys) in un messaggio crittografato. Questa funzionalità può aiutarti a rilevare un provider di chiavi master o un portachiavi non configurato correttamente durante la crittografia o a identificare un testo cifrato dannoso durante la decrittografia.  
È necessario limitare le chiavi di dati crittografate quando si decrittografano i messaggi da una fonte non attendibile. Evita chiamate inutili, costose e potenzialmente esaustive all'infrastruttura chiave.

### Versione 2.3.*x*
<a name="version2.3"></a>

Aggiunge il supporto per le chiavi AWS KMS multiregionali. Per informazioni dettagliate, vedi [Utilizzo di più regioni AWS KMS keys](configure.md#config-mrks).

**Nota**  
L' AWS Encryption CLI supporta le chiavi multiregionali a partire dalla versione 3.0. *x. *  
Versione 2. *x*. *x * di SDK di crittografia AWS per Python SDK di crittografia AWS per JavaScript, e l' AWS Encryption CLI sono in fase di [ fine supporto. ](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)  
Per informazioni sul [ supporto e la manutenzione ](introduction.md#support) di questa AWS Encryption SDK versione nel linguaggio di programmazione preferito, consultate il `SUPPORT_POLICY.rst` file nel relativo archivio. [ GitHub ](introduction.md#esdk-repos)