

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Personnalisé IVs avec une longueur non conforme pour l'emballage des clés AES AWS CloudHSM
<a name="troubleshooting-aes-keys"></a>

Cette rubrique de résolution des problèmes vous aide à déterminer si votre application génère des clés encapsulées irrécupérables. Si ce problème vous concerne, consultez cette rubrique pour le résoudre.

**Topics**
+ [Déterminez si votre code génère des clés encapsulées irrécupérables](#troubleshooting-problem1)
+ [Mesures à prendre si votre code génère des clés encapsulées irrécupérables](#troubleshooting-problem2)

## Déterminez si votre code génère des clés encapsulées irrécupérables
<a name="troubleshooting-problem1"></a>

Vous êtes concerné uniquement si vous remplissez *toutes* les conditions ci-dessous :


****  

| Condition | Comment le savoir ? | 
| --- | --- | 
| Votre application utilise la bibliothèque PKCS \#11  | La bibliothèque PKCS \#11 est installée sous forme de fichier `libpkcs11.so` dans votre dossier `/opt/cloudhsm/lib`. Les applications écrites en langage C utilisent généralement directement la bibliothèque PKCS \#11, tandis que les applications écrites en Java peuvent utiliser la bibliothèque indirectement via une couche d'abstraction Java. Si vous utilisez Windows, vous n'êtes PAS concerné, car la bibliothèque PKCS \#11 n'est actuellement pas disponible pour Windows. | 
| Votre application utilise spécifiquement la version 3.0.0 de la bibliothèque PKCS \#11  | Si vous avez reçu un e-mail de l' AWS CloudHSM équipe, vous utilisez probablement la version 3.0.0 de la bibliothèque PKCS \#11. <br />Pour vérifier la version du logiciel sur vos instances d'application, utilisez cette commande : <pre>rpm -qa | grep ^cloudhsm</pre> | 
| Vous encapsulez les clés à l'aide de l'encapsulage de clés AES | L'encapsulage des touches AES signifie que vous utilisez une clé AES pour encapsuler une autre clé. Le nom du mécanisme correspondant est `CKM_AES_KEY_WRAP`. Il est utilisé avec la fonction `C_WrapKey`. Les autres mécanismes d'encapsulation basés sur AES qui utilisent des vecteurs d'initialisation (IVs), tels que `CKM_AES_GCM` et` CKM_CLOUDHSM_AES_GCM`, ne sont pas concernés par ce problème. [En savoir plus sur les fonctions et les mécanismes](pkcs11-mechanisms.md).  | 
| Vous spécifiez un IV personnalisé lorsque vous appelez l’encapsulage de clés AES, et la longueur de cet IV est inférieure à 8 | L'encapsulage des clés AES est généralement initialisée à l'aide d'une structure `CK_MECHANISM` comme suit : <br />`CK_MECHANISM mech = {CKM_AES_KEY_WRAP, IV_POINTER, IV_LENGTH};`<br />Ce problème s'applique à vous uniquement si :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/cloudhsm/latest/userguide/troubleshooting-aes-keys.html) | 

Si vous ne remplissez pas toutes les conditions ci-dessus, vous pouvez arrêter de lire maintenant. Vos clés encapsulées peuvent être désencapsulées correctement, et ce problème ne vous concerne pas. Sinon, consultez [Mesures à prendre si votre code génère des clés encapsulées irrécupérables](#troubleshooting-problem2). 

## Mesures à prendre si votre code génère des clés encapsulées irrécupérables
<a name="troubleshooting-problem2"></a>

Vous devez suivre les trois étapes suivantes : 

1.  **Mettez immédiatement à niveau votre bibliothèque PKCS \#11 vers une version plus récente**
   + [Dernière bibliothèque PKCS \#11 pour Amazon Linux, CentOS 6 et RHEL 6](client-upgrade.md)
   + [Dernière bibliothèque PKCS \#11 pour Amazon Linux 2, CentOS 7 et RHEL 7](client-upgrade.md)
   + [Dernière bibliothèque PKCS \#11 pour Ubuntu 16.04 LTS](client-upgrade.md)

1. **Mettez à jour votre logiciel pour utiliser un IV conforme aux normes**

   Nous vous recommandons vivement de suivre notre exemple de code et de simplement spécifier un IV NULL, ce qui oblige le HSM à utiliser le IV par défaut conforme aux normes. Vous pouvez également spécifier explicitement l'IV comme `0xA6A6A6A6A6A6A6A6` avec une longueur d'IV correspondante de `8`. Nous ne recommandons pas d'utiliser un autre IV pour l'encapsulage des clés AES, et nous désactiverons explicitement la IVs personnalisation de l'encapsulage des clés AES dans une future version de la bibliothèque PKCS \#11.

   Un exemple de code permettant de spécifier correctement l'IV apparaît dans [aes\_wrapping.c](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/wrapping/aes_wrapping.c#L72) on. GitHub

1. **Identifiez et récupérez les clés encapsulées existantes**

   Vous devez identifier toutes les clés que vous avez encapsulées à l'aide de la version 3.0.0 de la bibliothèque PKCS \#11, puis contacter le support pour obtenir de l'aide ([https://aws.amazon.com/support](https://aws.amazon.com/support)) pour récupérer ces clés.

**Important**  
Ce problème concerne uniquement les clés encapsulées avec la version 3.0.0 de la bibliothèque PKCS \#11. Vous pouvez encapsuler les clés à l'aide de versions antérieures (packages 2.0.4 et numéros inférieurs) ou de versions ultérieures (packages 3.0.1 et numéros supérieurs) de la bibliothèque PKCS \#11. 