Desempaquetar una clave con AES-PKCS5-PAD mediante la CLI de CloudHSM
Use el comando key unwrap aes-pkcs5-pad en la CLI de CloudHSM para desempaquetar una clave de carga útil mediante la clave de empaquetado AES y el mecanismo de desempaquetado AES-PKCS5-PAD
.
Las claves desempaquetadas se pueden usar de la misma manera que las claves generadas por AWS CloudHSM. Para indicar que no se generaron localmente, su atributo local
se establece en false
.
Para usar el comando key unwrap aes-pkcs5-pad, debe tener la clave de empaquetado AES en el clúster de su AWS CloudHSM y su atributo unwrap
debe estar establecido en true
.
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 unwrap aes-pkcs5-pad
Usage: key unwrap aes-pkcs5-pad [OPTIONS] --filter [
<FILTER>
...] --key-type-class<KEY_TYPE_CLASS>
--label<LABEL>
<--data-path<DATA_PATH>
|--data<DATA>
> 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 --filter [<FILTER>
...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a key to unwrap with --data-path<DATA_PATH>
Path to the binary file containing the wrapped key data --data<DATA>
Base64 encoded wrapped key data --attributes [<UNWRAPPED_KEY_ATTRIBUTES>
...] Space separated list of key attributes in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE for the unwrapped key --key-type-class<KEY_TYPE_CLASS>
Key type and class of wrapped key [possible values: aes, des3, ec-private, generic-secret, rsa-private] --label<LABEL>
Label for the unwrapped key --session Creates a session key that exists only in the current session. The key cannot be recovered after the session ends -h, --help Print help
Ejemplos
En estos ejemplos, se muestra cómo usar el comando key unwrap aes-pkcs5-pad mediante una clave AES con el valor del atributo unwrap
establecido en true
.
ejemplo Ejemplo: desempaquete una clave de carga útil de los datos clave empaquetados y codificados en Base64
aws-cloudhsm >
key unwrap aes-pkcs5-pad --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --data MbuYNresfOKyGNnxKWen88nSfX+uUE/0qmGofSisicY=
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001c08e3", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "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": 16 } } } }
ejemplo Ejemplo: desempaquete una clave de carga útil proporcionada a través de una ruta de datos
aws-cloudhsm >
key unwrap aes-pkcs5-pad --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --data-path payload-key.pem
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001c08e3", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "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": 16 } } } }
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.
<FILTER>
-
Referencia de clave (por ejemplo,
key-reference=0xabc
) o lista de atributos clave separados por espacios en forma deattr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para seleccionar una clave con la que se desempaquetará.Obligatorio: sí
<DATA_PATH>
-
Ruta al archivo binario que contiene los datos clave empaquetados.
Obligatorio: Sí (a menos que se proporcione mediantes datos codificados en Base64)
<DATA>
-
Datos clave empaquetados y codificados en Base64.
Obligatorio: Sí (a menos que se proporcione por la ruta de datos)
<ATTRIBUTES>
-
Lista de atributos clave separados por espacios en forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para la clave empaquetada.Requerido: no
<KEY_TYPE_CLASS>
-
Tipo de clave y clase de clave empaquetada [valores posibles:
aes
,des3
,ec-private
,generic-secret
,rsa-private
].Obligatorio: sí
<LABEL>
-
Etiqueta para la clave desempaquetada.
Obligatorio: sí
<SESSION>
-
Crea una clave de sesión que solo existe en la sesión actual. La clave no se podrá recuperar una vez finalizada la sesión.
Requerido: no