Gere um par de RSA chaves assimétrico com o Cloud HSM CLI - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gere um par de RSA chaves assimétrico com o Cloud HSM CLI

Use o key generate-asymmetric-pair rsa comando no Cloud HSM CLI para gerar um par de RSA chaves assimétrico no seu AWS CloudHSM cluster.

Tipo de usuário

Os seguintes tipos de usuários podem executar este comando.

  • Usuários de criptomoedas (CUs)

Requisitos

Para executar esse comando, você deve estar registrado como um CU.

Sintaxe

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 --share-crypto-users [<SHARE_CRYPTO_USERS>...] Space separated list of Crypto User usernames to share the RSA 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

Exemplos

Esses exemplos mostram como usar key generate-asymmetric-pair rsa para criar um RSA key pair.

exemplo Exemplo: criar um par de RSA chaves
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": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "rsa-public-key-example", "id": "", "check-value": "0x498e1f", "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, "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": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "cluster-coverage": "full" }, "attributes": { "key-type": "rsa", "label": "rsa-private-key-example", "id": "", "check-value": "0x498e1f", "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, "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 } } } }
exemplo Exemplo: criar um par de RSA chaves com atributos opcionais
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 encrypt=true \ --private-attributes decrypt=true { "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000280cc8", "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": "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": [], "key-quorum-values": { "manage-key-quorum-value": 0, "use-key-quorum-value": 0 }, "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 } } } }
exemplo Exemplo: criar um par de RSA chaves com valores de quorum

Ao gerar uma chave com controles de quórum, a chave deve estar associada a um número mínimo de usuários igual ao maior valor de quórum da chave. Os usuários associados incluem o proprietário da chave e os usuários criptográficos com os quais a chave é compartilhada. Para determinar o número mínimo de usuários com quem compartilhar a chave, obtenha o maior valor de quórum entre o valor do quórum de uso da chave e o valor do quórum de gerenciamento de chaves e subtraia 1 para contabilizar o proprietário da chave, que, por padrão, está associado à chave. Para compartilhar a chave com mais usuários, use o Compartilhe uma chave usando a nuvem HSM CLI comando.

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 verify=true \ --private-attributes sign=true --share-crypto-users cu2 cu3 cu4 \ --manage-private-key-quorum-value 4 \ --use-private-key-quorum-value 2 { "error_code": 0, "data": { "public_key": { "key-reference": "0x0000000000280cc8", "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": "rsa", "label": "rsa-public-key-example", "id": "", "check-value": "0x01fe6e", "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, "sensitive": false, "sign": true, "trusted": false, "unwrap": false, "verify": true, "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": [ { "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": "rsa", "label": "rsa-private-key-example", "id": "", "check-value": "0x01fe6e", "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, "sensitive": true, "sign": true, "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>

O ID do cluster em que essa operação será executada.

Obrigatório: se vários clusters tiverem sido configurados.

<MODULUS_SIZE_BITS>

Especifica o comprimento do módulo em bits. O valor mínimo é 2048.

Obrigatório: sim

<PRIVATE_KEY_ATTRIBUTES>

Especifica uma lista separada por espaços de atributos de chave a serem definidos para a chave RSA privada gerada na forma de KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE (por exemplo,sign=true)

Para obter uma lista dos atributos de chave compatíveis, consulte Principais atributos da nuvem HSM CLI.

Obrigatório: não

<PRIVATE_LABEL>

Especifica o rótulo da chave privada definida pelo usuário. O tamanho máximo permitido label é de 127 caracteres para o Client SDK 5.11 e versões posteriores. O cliente SDK 5.10 e anteriores tem um limite de 126 caracteres.

Obrigatório: sim

<PUBLIC_EXPONENT>

Especifica o expoente público. O valor deve ser um número ímpar maior que ou igual a 65537.

Obrigatório: sim

<PUBLIC_KEY_ATTRIBUTES>

Especifica uma lista separada por espaços de atributos de chave a serem definidos para a chave RSA pública gerada na forma de KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE (por exemplo,verify=true)

Para obter uma lista dos atributos de chave compatíveis, consulte Principais atributos da nuvem HSM CLI.

Obrigatório: não

<PUBLIC_LABEL>

Especifica um rótulo definido pelo usuário para a chave pública. O tamanho máximo permitido label é de 127 caracteres para o Client SDK 5.11 e versões posteriores. O cliente SDK 5.10 e anteriores tem um limite de 126 caracteres.

Obrigatório: sim

<SESSION>

Cria uma chave que existe apenas na sessão atual. A chave não pode ser recuperada após o término da sessão.

Use esse parâmetro quando precisar de uma chave apenas brevemente, como uma chave de empacotamento que criptografa e, em seguida, descriptografa rapidamente outra chave. Não use uma chave de sessão para criptografar dados que você talvez precise descriptografar após o término da sessão.

Por padrão, as chaves geradas são chaves persistentes (tokens). Passar < SESSION > altera isso, garantindo que uma chave gerada com esse argumento seja uma chave de sessão (efêmera).

Obrigatório: não

<SHARE_CRYPTO_USERS>

Especifica uma lista separada por espaços de nomes de usuário do Crypto User com os quais compartilhar a chave RSA privada

Obrigatório: não

<MANAGE_PRIVATE_KEY_QUORUM_VALUE>

O valor do quórum para as operações de gerenciamento da chave privada. Esse valor deve ser menor ou igual ao número de usuários aos quais a chave está associada. Isso inclui usuários com quem a chave é compartilhada e o proprietário da chave. Valor máximo de 8.

Obrigatório: não

<USE_PRIVATE_KEY_QUORUM_VALUE>

O valor do quórum para as operações de uso da chave privada. Esse valor deve ser menor ou igual ao número de usuários aos quais a chave está associada. Isso inclui usuários com quem a chave é compartilhada e o proprietário da chave. Valor máximo de 8.

Obrigatório: não

Tópicos relacionados