

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.

# Génération d'une paire de clés AWS CloudHSM ECC à l'aide de KMU
<a name="key_mgmt_util-genECCKeyPair"></a>

Utilisez la `genECCKeyPair` commande de l'outil AWS CloudHSM key\$1mgmt\$1util pour générer une paire de clés ECC ([Elliptic Curve Cryptography) dans vos modules de sécurité matériels (](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)HSM). Lorsque vous exécutez la commande `genECCKeyPair`, vous devez spécifier l'identificateur de courbe elliptique et une étiquette pour la paire de clés. Vous pouvez également partager la clé privée avec d'autres utilisateurs CU, créer des clés non extractibles, des clés contrôlées par quorum et des clés qui expirent lorsque la session se termine. Lorsque la commande aboutit, elle renvoie les handles de clé attribués par le HSM aux clés ECC publiques et privées. Vous pouvez utiliser les handles de clé pour identifier les clés pour d'autres commandes.

Avant d'exécuter une commande key\$1mgmt\$1util, vous devez [démarrer key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) et vous [connecter](key_mgmt_util-log-in.md) au HSM en tant qu'utilisateur de chiffrement (CU). 

**Astuce**  
Pour rechercher les attributs d'une clé que vous avez créée, tels que le type, la longueur, l'étiquette et l'ID, utilisez [getAttribute](key_mgmt_util-getAttribute.md). Pour trouver les clés d'un utilisateur en particulier, utilisez [getKeyInfo](key_mgmt_util-getKeyInfo.md). Pour rechercher des clés en fonction de leurs valeurs d'attribut, utilisez [findKey](key_mgmt_util-findKey.md). 

## Syntaxe
<a name="genECCKeyPair-syntax"></a>

```
genECCKeyPair -h

genECCKeyPair -i <EC curve id> 
              -l <label> 
              [-id <key ID>]
              [-min_srv <minimum number of servers>]
              [-m_value <0..8>]
              [-nex]
              [-sess]
              [-timeout <number of seconds> ]
              [-u <user-ids>]
              [-attest]
```

## Exemples
<a name="genECCKeyPair-examples"></a>

Les exemples suivants montrent comment **genECCKeyPair** créer des paires de clés ECC dans votre HSMs.

**Example : Création et examen d'une paire de clés ECC**  
Cette commande utilise une courbe elliptique NID\$1secp384r1 et une étiquette `ecc14` pour créer une paire de clés ECC. La sortie montre que le handle de la clé privée est `262177` et celui de la clé publique, `262179`. La même étiquette s'applique aux deux clés.  

```
Command: genECCKeyPair -i 14 -l ecc14

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 262179    private key handle: 262177

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Après avoir généré la clé, vous pouvez examiner ses attributs. Utilisez [getAttribute](key_mgmt_util-getAttribute.md) pour écrire tous les attributs (représentés par la constante `512`) de la nouvelle clé privée ECC sur le fichier `attr_262177`.  

```
Command: getAttribute -o 262177 -a 512 -out attr_262177
got all attributes of size 529 attr cnt 19
Attributes dumped into attr_262177

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
Ensuite, utilisez la commande `cat` pour afficher le contenu du fichier d'attribut `attr_262177`. La sortie indique que la clé est une clé privée de courbe elliptique qui peut être utilisée pour la signature, mais pas pour le chiffrement, le déchiffrement, l'encapsulage, le désencapsulage ou la vérification. La clé est permanente et exportable.  

```
$  cat attr_262177

OBJ_ATTR_CLASS
0x03
OBJ_ATTR_KEY_TYPE
0x03
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x00
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x01
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
ecc2
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x0000008a
OBJ_ATTR_KCV
0xbbb32a
OBJ_ATTR_MODULUS
044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5
OBJ_ATTR_MODULUS_BITS
0x0000019f
```

**Example Utilisation d'une courbe ECC non valide**  
Cette commande tente de créer une paire de clés ECC en utilisant une courbe NID\$1X9\$162\$1prime192v1. Comme cette courbe elliptique n'est pas valide pour le mode FIPS HSMs, la commande échoue. Le message indique qu'un serveur du cluster n'est pas disponible, mais cela n'indique généralement pas un problème lié HSMs au cluster.  

```
Command:  genECCKeyPair -i 1 -l ecc1

        Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies

        Cluster Error Status
        Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable
```

## Parameters
<a name="genECCKeyPair-params"></a>

**-h**  
Affiche l'aide concernant la commande.   
Obligatoire : oui

**-i **  
Spécifie l'identifiant de la courbe elliptique. Saisissez un identifiant.   
Valeurs valides :   
+ **2** : NID\$1X9\$162\$1prime256v1
+ **14** : NID\$1SECP384R1
+ **16** : NID\$1secp256k1
Obligatoire : oui

**-l**  
Spécifie l'étiquette définie par l'utilisateur pour la paire de clés. Saisissez une chaîne. La même étiquette s'applique aux deux clés de la paire. La taille maximale autorisée pour `label` est de 127 caractères.  
Vous pouvez utiliser n'importe quelle phrase qui vous aide à identifier la clé. Comme il n'est pas nécessaire que l'étiquette soit unique, vous pouvez l'utiliser pour regrouper et classer des clés.   
Obligatoire : oui

**-id**  
Spécifie un identifiant défini par l'utilisateur pour la paire de clés. Saisissez une chaîne unique dans le cluster. La valeur par défaut est une chaîne vide. L'ID que vous spécifiez s'applique aux deux clés de la paire.  
Valeur par défaut : pas de valeur d'ID.  
Obligatoire : non

**-min\$1srv**  
Spécifie le nombre minimum HSMs sur lequel la clé est synchronisée avant l'expiration de la valeur du `-timeout` paramètre. Si la clé n'est pas synchronisée sur le nombre spécifié de serveurs dans le temps imparti, elle n'est pas créée.  
AWS CloudHSM synchronise automatiquement chaque clé avec chaque HSM du cluster. Pour accélérer votre processus, définissez une valeur inférieure `min_srv` au nombre de HSMs dans le cluster et définissez une valeur de délai d'expiration faible. Toutefois, notez que certaines demandes peuvent ne pas générer une clé.  
Valeur par défaut : 1  
Obligatoire : non

**-m\$1value**  
Spécifie le nombre d'utilisateurs qui doivent approuver les opérations cryptographiques qui utilisent la clé privée dans la paire. Entrez une valeur comprise entre `0` et `8`.  
Ce paramètre définit une exigence d'authentification par quorum pour la clé privée. La valeur par défaut, `0`, désactive la fonctionnalité d'authentification par quorum pour la clé. Lorsque l'authentification par quorum est activée, le nombre spécifié d'utilisateurs doit signer un jeton pour approuver les opérations cryptographiques utilisant la clé privée et les opérations qui partagent ou annulent le partage de la clé privée.  
Pour trouver le `m_value` code d'une clé, utilisez [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Ce paramètre est valide uniquement quand le paramètre `-u` de la commande partage la paire de clés avec suffisamment d'utilisateurs pour satisfaire l'exigence `m_value`.  
Par défaut : 0  
Obligatoire : non

**-nex**  
Rend la clé privée non extractible. La clé privée générée ne peut pas être [exportée depuis le HSM](export-keys.md). Les clés publiques sont toujours extractibles.  
Par défaut : les clés publiques et privées de la paire de clés sont extractibles.  
Obligatoire : non

**-sess**  
Crée une clé qui existe uniquement dans la session en cours. La clé ne peut pas être récupérée une fois la session terminée.  
Utilisez ce paramètre lorsque vous n'avez besoin que brièvement d'une clé, par exemple une clé d'encapsulage qui chiffre, puis déchiffre rapidement, une autre clé. N'utilisez pas de clé de session pour chiffrer les données que vous pourriez avoir besoin de déchiffrer après la fin de la session.  
Pour remplacer une clé de session par une clé persistante (jeton), utilisez [setAttribute](key_mgmt_util-setAttribute.md).  
Par défaut : la clé est persistante.   
Obligatoire : non

**-timeout**  
Spécifie la durée (en secondes) pendant laquelle la commande attend qu'une touche soit synchronisée avec le nombre de touches HSMs spécifié par le `min_srv` paramètre.   
Ce paramètre n'est valide que lorsque le paramètre `min_srv` est également utilisé dans la commande.  
Par défaut : aucun délai d’expiration. La commande attend indéfiniment et ne renvoie des résultats que lorsque la clé est synchronisée avec le nombre minimum de serveurs.  
Obligatoire : non

**-u**  
Partage la clé privée de la paire avec les utilisateurs spécifiés. Ce paramètre autorise les autres utilisateurs du chiffrement HSM (CUs) à utiliser la clé privée dans les opérations cryptographiques. Les clés publiques peuvent être utilisées par n'importe quel utilisateur sans partage.  
Tapez une liste d'utilisateurs HSM séparée par des virgules IDs, telle que -. `u 5,6` N'incluez pas l'ID utilisateur HSM de l'utilisateur actuel. [Pour trouver l'utilisateur HSM IDs de CUs sur le HSM, utilisez ListUsers.](key_mgmt_util-listUsers.md) Pour partager ou annuler le partage d'une clé existante, utilisez [shareKey](cloudhsm_mgmt_util-shareKey.md) dans cloudhsm\$1mgmt\$1util.   
Par défaut : seul l'utilisateur actuel peut utiliser la clé privée.   
Obligatoire : non

**-attest**  
Exécute un contrôle d'intégrité qui vérifie que le microprogramme sur lequel le cluster est exécuté n'a pas été altéré.  
Par défaut : aucune vérification d'attestation.  
Obligatoire : non

## Rubriques en relation
<a name="genECCKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [gen RSAKey Pair](key_mgmt_util-genRSAKeyPair.md)
+ [gen DSAKey Pair](key_mgmt_util-genDSAKeyPair.md)