Desencapsular uma chave com o AES-NO-PAD usando a CLI do CloudHSM
Use o comando key unwrap aes-no-pad na CLI do CloudHSM para desencapsular uma chave de carga útil no cluster do AWS CloudHSM usando a chave de encapsulamento AES e o mecanismo de desencapsulamento AES-NO-PAD
.
As chaves desencapsuladas podem ser usadas da mesma forma que as chaves geradas pelo AWS CloudHSM. Para indicar que elas não foram geradas localmente, o atributo local
é definido como false
.
Para usar o comando key unwrap aes-no-pad, você deve ter a chave de encapsulamento AES em seu cluster do AWS CloudHSM e seu atributo unwrap
deve estar definido como true
.
Tipo de usuário
Os seguintes tipos de usuários podem executar este comando.
-
Usuários de criptografia (CUs)
Requisitos
-
Para executar esse comando, você deve estar registrado como um CU.
Sintaxe
aws-cloudhsm >
help key unwrap aes-no-pad
Usage: key unwrap aes-no-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
Exemplos
Esses exemplos mostram como usar o comando key unwrap aes-no-pad usando uma chave AES com o valor do atributo unwrap
definido como true
.
exemplo Exemplo: desencapsular uma chave de carga útil dos dados da chave encapsulada codificada em Base64
aws-cloudhsm >
key unwrap aes-no-pad --key-type-class aes --label aes-unwrapped --filter attr.label=aes-example --data eXK3PMAOnKM9y3YX6brbhtMoC060EOH9
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001c08ec", "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 } } } }
exemplo Exemplo: desencapsular uma chave de carga útil fornecida por meio de um caminho de dados
aws-cloudhsm >
key unwrap aes-no-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": "0x00000000001c08ec", "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>
-
O ID do cluster em que essa operação será executada.
Obrigatório: se vários clusters tiverem sido configurados.
<FILTER>
-
Referência de chave (por exemplo,
key-reference=0xabc
) ou lista separada por espaços contendo atributos de chave na forma deattr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para selecionar uma chave para ser usada no desencapsulamento.Obrigatório: Sim
<DATA_PATH>
-
Caminho para o arquivo binário que contém os dados da chave encapsulada.
Obrigatório: sim (a menos que seja fornecido por meio de dados codificados em Base64)
<DATA>
-
Dados de chaves encapsuladas codificados em Base64.
Obrigatório: sim (a menos que seja fornecido por meio do caminho de dados)
<ATTRIBUTES>
-
Lista separada por espaço contendo atributos de chaves na forma de
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
para a chave encapsulada.Obrigatório: Não
<KEY_TYPE_CLASS>
-
Tipo de chave e classe da chave encapsulada [valores possíveis:
aes
,des3
,ec-private
,generic-secret
,rsa-private
].Obrigatório: Sim
<LABEL>
-
Rótulo da chave desencapsulada.
Obrigatório: Sim
<SESSION>
-
Cria uma chave de sessão que existe apenas na sessão atual. A chave não pode ser recuperada após o término da sessão.
Obrigatório: Não