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érez une paire de ML-DSA clés asymétrique à l'aide de la CLI CloudHSM
Utilisez la key generate-asymmetric-pair ml-dsa commande de la CLI CloudHSM pour générer une paire de ML-DSA clés asymétrique dans votre cluster. AWS CloudHSM ML-DSA est un algorithme de signature numérique post-quantique. Générez une paire de ML-DSA clés lorsque vous devez signer ou vérifier des données à l'aide d'un algorithme résistant aux quantiques.
Type utilisateur
Les types d'utilisateur suivants peuvent exécuter cette commande.
-
Utilisateurs de chiffrement (CU)
Exigences
Pour exécuter cette commande, vous devez être connecté en tant que CU.
Syntaxe
aws-cloudhsm >help key generate-asymmetric-pair ml-dsaGenerate an ML-DSA key pair Usage: key generate-asymmetric-pair ml-dsa [OPTIONS] --public-label<PUBLIC_LABEL>--private-label<PRIVATE_LABEL>--mldsa-algorithm<MLDSA_ALGORITHM>Options: --cluster-id<CLUSTER_ID>Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --public-label<PUBLIC_LABEL>Label for the public key --private-label<PRIVATE_LABEL>Label for the private key --session Creates a session key pair that exists only in the current session. The key cannot be recovered after the session ends --mldsa-algorithm<MLDSA_ALGORITHM>ML-DSA algorithm [possible values: ML-DSA-44, ML-DSA-65, ML-DSA-87] --public-attributes [<PUBLIC_KEY_ATTRIBUTES>...] Space separated list of key attributes to set for the generated ML-DSA public key in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE --private-attributes [<PRIVATE_KEY_ATTRIBUTES>...] Space separated list of key attributes to set for the generated ML-DSA private key in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE --share-crypto-users [<SHARE_CRYPTO_USERS>...] Space separated list of Crypto User usernames to share the ML-DSA key with --manage-private-key-quorum-value<MANAGE_PRIVATE_KEY_QUORUM_VALUE>The quorum value for key management operations for the private key --use-private-key-quorum-value<USE_PRIVATE_KEY_QUORUM_VALUE>The quorum value for key usage operations for the private key -h, --help Print help
Exemples
Ces exemples montrent comment key generate-asymmetric-pair ml-dsa créer une paire de ML-DSA clés.
Exemple Exemple : création d'une paire de ML-DSA-44 clés
aws-cloudhsm >key generate-asymmetric-pair ml-dsa \ --mldsa-algorithm ML-DSA-44 \ --public-label ml-dsa-public-key-example \ --private-label ml-dsa-private-key-example{ "error_code": 0, "data": { "public_key": { "key-reference": "0x000000000000240b", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "ml-dsa", "label": "ml-dsa-public-key-example", "id": "0x", "check-value": "0x988721", "class": "public-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "mldsa-algorithm": "ML-DSA-44", "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1312 } }, "private_key": { "key-reference": "0x0000000000000f63", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "ml-dsa", "label": "ml-dsa-private-key-example", "id": "0x", "check-value": "0x988721", "class": "private-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "mldsa-algorithm": "ML-DSA-44", "sensitive": true, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 2560 } } } }
Exemple Exemple : création d'une paire de ML-DSA clés avec des attributs facultatifs
aws-cloudhsm >key generate-asymmetric-pair ml-dsa \ --mldsa-algorithm ML-DSA-65 \ --public-label ml-dsa-public-key-example \ --private-label ml-dsa-private-key-example \ --public-attributes verify=true \ --private-attributes sign=true{ "error_code": 0, "data": { "public_key": { "key-reference": "0x00000000002806eb", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "ml-dsa", "label": "ml-dsa-public-key-example", "mldsa-algorithm": "ML-DSA-65", "verify": true, "key-length-bytes": 1952 } }, "private_key": { "key-reference": "0x00000000002806ec", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "ml-dsa", "label": "ml-dsa-private-key-example", "mldsa-algorithm": "ML-DSA-65", "sign": true, "key-length-bytes": 4032 } } } }
Arguments
<CLUSTER_ID>-
L'ID du cluster sur lequel exécuter cette opération.
Obligatoire : si plusieurs clusters ont été configurés.
<MLDSA_ALGORITHM>-
Spécifie l' ML-DSA algorithme.
ML-DSA-44
ML-DSA-65
ML-DSA-87
Obligatoire : oui
<PUBLIC_KEY_ATTRIBUTES>-
Spécifie une liste d'attributs clés séparés par des espaces à définir pour la clé ML-DSA publique générée sous la forme
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE(par exemple,verify=true).Pour obtenir la liste des attributs de clés pris en charge, consultez Attributs de clé de la CLI CloudHSM.
Obligatoire : non
<PUBLIC_LABEL>-
Spécifie une étiquette définie par l'utilisateur pour public-key. La taille maximale autorisée
labelest de 127 caractères pour le SDK client 5.11 et les versions ultérieures. Le SDK client 5.10 et versions antérieures est limité à 126 caractères.Obligatoire : oui
<PRIVATE_KEY_ATTRIBUTES>-
Spécifie une liste d'attributs clés séparés par des espaces à définir pour la clé ML-DSA privée générée sous la forme
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE(par exemple,sign=true).Pour obtenir la liste des attributs de clés pris en charge, consultez Attributs de clé de la CLI CloudHSM.
Obligatoire : non
<PRIVATE_LABEL>-
Spécifie l'étiquette définie par l'utilisateur pour private-key. La taille maximale autorisée
labelest de 127 caractères pour le SDK client 5.11 et les versions ultérieures. Le SDK client 5.10 et versions antérieures est limité à 126 caractères.Obligatoire : oui
<SESSION>-
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 touche.
Par défaut, le HSM génère des clés persistantes (jetons). La transmission <SESSION>change cela, en garantissant que le HSM génère une clé de session (éphémère) à la place.
Obligatoire : non
<SHARE_CRYPTO_USERS>-
Spécifie une liste séparée par des espaces de noms d'utilisateur Crypto User avec lesquels partager la clé ML-DSA privée.
Obligatoire : non
<MANAGE_PRIVATE_KEY_QUORUM_VALUE>-
La valeur du quorum pour les opérations de gestion des clés privées. Cette valeur doit être inférieure ou égale au nombre d'utilisateurs auxquels la clé est associée. Cela inclut les utilisateurs avec lesquels la clé est partagée et le propriétaire de la clé. La valeur maximale est 8.
Obligatoire : non
<USE_PRIVATE_KEY_QUORUM_VALUE>-
La valeur de quorum pour les opérations d'utilisation de la clé privée. Cette valeur doit être inférieure ou égale au nombre d'utilisateurs auxquels la clé est associée. Cela inclut les utilisateurs avec lesquels la clé est partagée et le propriétaire de la clé. La valeur maximale est 8.
Obligatoire : non