Generación de una clave AES simétrica con la CLI de CloudHSM
Use el comando key generate-symmetric aes en la CLI de CloudHSM para generar una clave AES simétrica en el clúster de su 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-symmetric aesGenerate an AES key Usage: key generate-symmetric aes [OPTIONS] --label<LABEL>--key-length-bytes<KEY_LENGTH_BYTES>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 --label<LABEL>Label for the key --session Creates a session key that exists only in the current session. The key cannot be recovered after the session ends --key-length-bytes<KEY_LENGTH_BYTES>Key length in bytes --attributes [<KEY_ATTRIBUTES>...] Space separated list of key attributes to set for the generated AES 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 AES key with --manage-key-quorum-value<MANAGE_KEY_QUORUM_VALUE>The quorum value for key management operations --use-key-quorum-value<USE_KEY_QUORUM_VALUE>The quorum value for key usage operations -h, --help Print help
Ejemplos
En estos ejemplos se muestra cómo utilizar el comando key generate-symmetric aes para crear una clave AES.
ejemplo Ejemplo: creación de una clave AES
aws-cloudhsm >key generate-symmetric aes \ --label example-aes \ --key-length-bytes 24{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000002e06bf", "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": "aes", "label": "example-aes", "id": "", "check-value": "0x9b94bd", "class": "secret-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, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 24 } } } }
ejemplo Ejemplo: creación de una clave AES con atributos opcionales
aws-cloudhsm >key generate-symmetric aes \ --label example-aes \ --key-length-bytes 24 \ --attributes decrypt=true encrypt=true{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000002e06bf", "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": "aes", "label": "example-aes", "id": "", "check-value": "0x9b94bd", "class": "secret-key", "encrypt": true, "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": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 24 } } } }
ejemplo Ejemplo: creación de una clave AES con valores de quórum
Al generar una clave con controles de quórum, la clave se debe asociar a un número mínimo de usuarios igual al valor de quórum de clave más alto. Los usuarios asociados incluyen al propietario de la clave y a los usuarios criptográficos con quienes se comparte la clave. Para determinar el número mínimo de usuarios con quienes compartir la clave, obtenga el valor de quórum más alto entre el valor de quórum de uso de la clave y el valor de quórum de administración de la clave, y reste 1 para tener en cuenta al propietario de la clave, que de forma predeterminada está asociado con esta. Para compartir la clave con más usuarios, utilice el comando Compartir una clave mediante la CLI de CloudHSM.
aws-cloudhsm >key generate-symmetric aes \ --label example-aes \ --key-length-bytes 24 \ --attributes decrypt=true encrypt=true --share-crypto-users cu2 cu3 cu4 \ --manage-key-quorum-value 4 \ --use-key-quorum-value 2{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000002e06bf", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [ { "username": "cu2", "key-coverage": "full" }, { "username": "cu3", "key-coverage": "full" }, { "username": "cu4", "key-coverage": "full" }, ], "key-quorum-values": { "manage-key-quorum-value": 4, "use-key-quorum-value": 2 }, "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "example-aes", "id": "", "check-value": "0x9b94bd", "class": "secret-key", "encrypt": true, "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": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 24 } } } }
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.
<KEY_ATTRIBUTES>-
Especifica una lista de atributos de clave separados por espacios que se debe configurar para la clave AES generada en forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE(por ejemplo,sign=true).Para obtener una lista de los atributos de clave compatibles, consulte Atributos de clave de la CLI de CloudHSM.
Obligatorio: no
<KEY-LENGTH-BYTES>-
Especifica la longitud de la clave en bytes.
Valores válidos:
16, 24 y 32
Obligatorio: sí
<LABEL>-
Especifica la etiqueta de clave AES definida por el usuario. El tamaño máximo permitido para
labeles de 127 caracteres para Client SDK 5.11 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).
Obligatorio: no
<SHARE_CRYPTO_USERS>-
Especifica una lista separada por espacios de nombres de usuarios de criptografía con quienes se comparte la clave AES
Obligatorio: no
<MANAGE_KEY_QUORUM_VALUE>-
El valor de quórum para las operaciones de administración de claves. Este valor debe ser menor o igual que el número de usuarios con los que la clave está asociada. Esto incluye a los usuarios con quienes se comparte la clave y al propietario de la clave. Valor máximo: 8.
Obligatorio: no
<USE_KEY_QUORUM_VALUE>-
El valor de quórum para las operaciones de uso de claves. Este valor debe ser menor o igual que el número de usuarios con los que la clave está asociada. Esto incluye a los usuarios con quienes se comparte la clave y al propietario de la clave. Valor máximo: 8.
Obligatorio: no