Generación de un par de claves RSA asimétricas con la CLI de CloudHSM
Utilice el comando key generate-asymmetric-pair rsa de la CLI de CloudHSM para generar un par de claves de RSA asimétricas en su clúster AWS CloudHSM.
Tipo de usuario
Los tipos de usuarios siguientes pueden ejecutar este comando.
-
Usuarios de criptografía (CU)
Requisitos
Para ejecutar este comando, debe iniciar sesión como CU.
Sintaxis
aws-cloudhsm >
help key generate-asymmetric-pair rsa
Generate an RSA key pair Usage: key generate-asymmetric-pair rsa [OPTIONS] --public-label
<PUBLIC_LABEL>
--private-label<PRIVATE_LABEL>
--modulus-size-bits<MODULUS_SIZE_BITS>
--public-exponent<PUBLIC_EXPONENT>
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 --modulus-size-bits<MODULUS_SIZE_BITS>
Modulus size in bits used to generate the RSA key pair --public-exponent<PUBLIC_EXPONENT>
Public exponent used to generate the RSA key pair --public-attributes [<PUBLIC_KEY_ATTRIBUTES>
...] Space separated list of key attributes to set for the generated RSA 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 RSA private key in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE -h, --help Print help
Ejemplos
En estos ejemplos, se muestra cómo se utiliza key generate-asymmetric-pair rsa
para crear un par de claves de RSA.
ejemplo Ejemplo: creación de un par de claves RSA
aws-cloudhsm >
key generate-asymmetric-pair rsa \ --public-exponent 65537 \ --modulus-size-bits 2048 \ --public-label rsa-public-key-example \ --private-label rsa-private-key-example
{ "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000160010", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "rsa", "label": "rsa-public-key-example", "id": "", "check-value": "0x498e1f", "class": "public-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 512, "public-exponent": "0x010001", "modulus": "0xdfca0669dc8288ed3bad99509bd21c7e6192661407021b3f4cdf4a593d939dd24f4d641af8e4e73b04c847731c6dbdff3385818e08dd6efcbedd6e5b130344968c e89a065e7d1a46ced96b46b909db2ab6be871ee700fd0a448b6e975bb64cae77c49008749212463e37a577baa57ce3e574cb057e9db131e119badf50c938f26e8a5975c61a8ba7ffe7a1115a bcebb7d20bd6df1948ae336ae23b52d73b7f3b6acc2543edb6358e08d326d280ce489571f4d34e316a2ea1904d513ca12fa04075fc09ad005c81b7345d7804ff24c45117f0a1020dca7794df037a10aadec8653473b2088711f7b7d8b58431654e14e31af0e00511da641058fb7475ffdbe60f", "modulus-size-bits": 2048 } }, "private_key": { "key-reference": "0x0000000000160011", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "session" }, "attributes": { "key-type": "rsa", "label": "rsa-private-key-example", "id": "", "check-value": "0x498e1f", "class": "private-key", "encrypt": false, "decrypt": false, "token": false, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0xdfca0669dc8288ed3bad99509bd21c7e6192661407021b3f4cdf4a593d939dd24f4d641af8e4e73b04c847731c6dbdff3385818e08dd6efcbedd6e5b130344968ce89a065e7d1a46ced96b46b909db2ab6be871ee700fd0a448b6e975bb64cae77c49008749212463e37a577baa57ce3e574cb057e9db131e119badf50c938f26e8a5975c61a8ba7ffe7a1115abcebb7d20bd6df1948ae336ae23b52d73b7f3b6acc2543edb6358e08d326d280ce489571f4d34e316a2ea1904d513ca12fa04075fc09ad005c81b7345d7804ff24c45117f0a1020dca7794df037a10aadec8653473b2088711f7b7d8b58431654e14e31af0e00511da641058fb7475ffdbe60f", "modulus-size-bits": 2048 } } } }
ejemplo Ejemplo: creación de un par de claves RSA con atributos opcionales
aws-cloudhsm >
key generate-asymmetric-pair rsa \ --public-exponent 65537 \ --modulus-size-bits 2048 \ --public-label rsa-public-key-example \ --private-label rsa-private-key-example \ --public-attributes token=true encrypt=true \ --private-attributes token=true decrypt=true
{ "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000280cc8", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "rsa-public-key-example", "id": "", "check-value": "0x01fe6e", "class": "public-key", "encrypt": true, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": false, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 512, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c 73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634d f6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc 133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0ac ac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } }, "private_key": { "key-reference": "0x0000000000280cc7", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "rsa-private-key-example", "id": "", "check-value": "0x01fe6e", "class": "private-key", "encrypt": false, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": true, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": false, "verify": false, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 1217, "public-exponent": "0x010001", "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7", "modulus-size-bits": 2048 } } } }
Argumentos
<CLUSTER_ID>
-
El ID del clúster en el que se va a ejecutar esta operación.
Obligatorio: si se han configurado varios clústeres.
<MODULUS_SIZE_BITS>
-
Especifica la longitud del módulo en bits. El valor mínimo es 2048.
Obligatorio: sí
<PRIVATE_KEY_ATTRIBUTES>
-
Especifica una lista de atributos de clave separados por espacios para establecer la clave privada RSA generada en forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(por ejemplo,token=true
).Para obtener una lista de los atributos de clave compatibles, consulte Atributos de clave de la CLI de CloudHSM.
Requerido: no
<PRIVATE_LABEL>
-
Especifica la etiqueta de clave privada definida por el usuario. El tamaño máximo permitido para
label
es de 127 caracteres para Client SDK 5.11 de y versiones posteriores. Client SDK 5.10 y versiones anteriores tienen un límite de 126 caracteres.Obligatorio: sí
<PUBLIC_EXPONENT>
-
Especifica el exponente público. El valor debe ser un número impar superior o igual a 65537.
Obligatorio: sí
<PUBLIC_KEY_ATTRIBUTES>
-
Especifica una lista de atributos de clave separados por espacios para establecer la clave pública RSA generada en forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(por ejemplo,token=true
).Para obtener una lista de los atributos de clave compatibles, consulte Atributos de clave de la CLI de CloudHSM.
Requerido: no
<PUBLIC_LABEL>
-
Especifica una etiqueta definida por el usuario para la clave pública. El tamaño máximo permitido para
label
es de 127 caracteres para Client SDK 5.11 de y versiones posteriores. Client SDK 5.10 y versiones anteriores tienen un límite de 126 caracteres.Obligatorio: sí
<SESSION>
-
Crea una clave que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.
Utilice este parámetro cuando necesite una clave solo brevemente, por ejemplo, una clave de encapsulamiento que cifre y, a continuación, descifre rápidamente otra clave. No utilice una clave de sesión para cifrar los datos que pueda necesitar descifrar una vez finalizada la sesión.
De forma predeterminada, las claves que se generan son claves persistentes (token). La transferencia a <SESSION> cambia este estado, lo que garantiza que la clave generada con este argumento sea una clave de sesión (efímera).
Requerido: no