

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 RSA à l'aide de KMU
<a name="key_mgmt_util-genRSAKeyPair"></a>

[Utilisez la **genRSAKeyPair** commande de l'outil AWS CloudHSM key\$1mgmt\$1util pour générer une paire de clés asymétriques RSA.](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) Vous spécifiez le type de clé, une longueur de module et un exposant public. La commande génère un module de la longueur spécifiée et crée la paire de clés. Vous pouvez attribuer un ID, partager la clé avec d'autres utilisateurs HSM, créer des clés non extractibles et créer des clés qui expirent lorsque la session se termine. Lorsque la commande réussit, elle renvoie un handle de clé que le HSM attribue à la clé. Vous pouvez utiliser le handle de clé pour identifier la clé auprès 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="genRSAKeyPair-syntax"></a>

```
genRSAKeyPair -h

genRSAKeyPair -m <modulus length>
              -e <public exponent> 
              -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="genRSAKeyPair-examples"></a>

Ces exemples montrent comment **genRSAKeyPair** créer des paires de clés asymétriques dans votre HSMs.

**Example : Création et examen d'une paire de clés RSA**  
Cette commande crée une paire de clés RSA avec un module 2048 bits et l'exposant 65537. La sortie montre que le handle de la clé publique est `2100177` et celui de la clé privée, `2100426`.  

```
Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test 

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 2100177    private key handle: 2100426

        Cluster Status:
        Node id 0 status: 0x00000000 : HSM Return: SUCCESS
        Node id 1 status: 0x00000000 : HSM Return: SUCCESS
```
La commande suivante utilise [getAttribute](key_mgmt_util-getAttribute.md) pour obtenir les attributs de la clé publique que vous venez de créer. Elle écrit la sortie dans le fichier `attr_2100177`. Elle est suivie d'une commande **cat** permettant d'obtenir le contenu du fichier d'attribut. Pour obtenir de l'aide sur l'interprétation des attributs de clé, consultez le [AWS CloudHSM référence d'attribut clé pour KMU](key-attribute-table.md).  
Les valeurs hexadécimales obtenues confirment qu'il s'agit d'une clé publique (`OBJ_ATTR_CLASS 0x02`) avec le type RSA (`OBJ_ATTR_KEY_TYPE 0x00`). Vous pouvez utiliser cette clé publique pour chiffrer (`OBJ_ATTR_ENCRYPT 0x01`), mais pas pour déchiffrer (`OBJ_ATTR_DECRYPT 0x00`). Les résultats incluent également la longueur de la clé (512, `0x200`), le module, la longueur du module (2048, `0x800`) et l'exposant public (65537, `0x10001`).  

```
Command:  getAttribute -o 2100177 -a 512 -out attr_2100177

Attribute size: 801, count: 26
Written to: attr_2100177 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$  cat attr_2100177
OBJ_ATTR_CLASS
0x02
OBJ_ATTR_KEY_TYPE
0x00
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x01
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x00
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
rsa_test
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x00000200
OBJ_ATTR_KCV
0xc51c18
OBJ_ATTR_MODULUS
0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c
1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d
6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0
97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857
d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873
970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec
b3e4203294a96fae06f8f0db7982cb5d7f
OBJ_ATTR_MODULUS_BITS
0x00000800
OBJ_ATTR_PUBLIC_EXPONENT
0x010001
OBJ_ATTR_TRUSTED
0x00
OBJ_ATTR_WRAP_WITH_TRUSTED
0x00
OBJ_ATTR_DESTROYABLE
0x01
OBJ_ATTR_DERIVE
0x00
OBJ_ATTR_ALWAYS_SENSITIVE
0x00
OBJ_ATTR_NEVER_EXTRACTABLE
0x00
```

**Example : Génération d'une paire de clés RSA partagée**  
Cette commande génère une paire de clés RSA et partage la clé privée de l'utilisateur 4, un autre CU du HSM. Elle utilise le paramètre `m_value` pour demander au moins deux approbations avant que la clé privée de la paire ne puisse être utilisée dans une opération de chiffrement. Lorsque vous utilisez le paramètre `m_value`, vous devez également utiliser `-u` dans la commande et la valeur `m_value` ne peut pas dépasser le nombre total d'utilisateurs (nombre de valeurs dans `-u` \$1 propriétaire).  

```
 Command:  genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```

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

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

**-m**  
Indique la longueur du module en bits. La valeur minimale est de 2048.   
Obligatoire : oui

**-e**  
Spécifie l' exposant public. La valeur doit être un entier impair supérieur ou égal à 65 537.  
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, réglez la valeur de sur 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="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [gen DSAKey Pair](key_mgmt_util-genDSAKeyPair.md)
+ [gen ECCKey Pair](key_mgmt_util-genECCKeyPair.md)