Importar uma chave privada usando o KMU do AWS CloudHSM
Use o comando importPrivateKey no key_mgmt_util do AWS CloudHSM para importar uma chave privada assimétrica de um arquivo para um módulo de segurança de hardware (HSM). O HSM não permite a importação direta de chaves em texto não criptografado. O comando criptografa a chave privada usando uma chave de empacotamento AES que você especifica e desempacota a chave dentro do HSM. Se você estiver tentando associar uma chave AWS CloudHSM a um certificado, consulte este tópico.
nota
Não é possível importar uma chave PEM protegida por senha usando uma chave simétrica ou privada.
Você deve especificar uma chave de empacotamento AES que tenha OBJ_ATTR_UNWRAP
e OBJ_ATTR_ENCRYPT
de valor de atributo 1
. Para encontrar os atributos de uma chave, use o comando getAttribute.
nota
Esse comando não oferece a opção de marcar as chaves importadas como não exportáveis.
Antes de executar um comando key_mgmt_util, você deve iniciar key_mgmt_util e fazer login no HSM como um usuário de criptografia (CU).
Sintaxe
importPrivateKey -h importPrivateKey -l
<label>
-f<key-file>
-w<wrapping-key-handle>
[-sess] [-id<key-id>
] [-m_value<0...8>
] [min_srv<minimum-number-of-servers>
] [-timeout<number-of-seconds>
] [-u<user-ids>
] [-wk<wrapping-key-file>
] [-attest]
Exemplos
Este exemplo mostra como usar importPrivateKey para importar uma chave privada para um HSM.
exemplo : importar uma chave privada
Esse comando importa a chave privada a partir de um arquivo chamado rsa2048.key
com o rótulo rsa2048-imported
e uma chave de encapsulamento com identificador 524299
. Quando o comando for bem-sucedido, importPrivateKey retornará um identificador de chave para a chave importada e uma mensagem de êxito.
Command:
importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299
BER encoded key length is 1216 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 524301 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
Parâmetros
Esse comando usa os seguintes parâmetros.
-h
-
Exibe a ajuda da linha de comando para o comando.
Obrigatório: Sim
-l
-
Especifica o rótulo da chave privada definida pelo usuário.
Obrigatório: Sim
-f
-
Especifica o nome do arquivo da chave a ser importada.
Obrigatório: Sim
-w
-
Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Para encontrar os identificadores de chave, use o comando findKey.
Para determinar se uma chave pode ser usada como uma chave de encapsulamento, use getAttribute para obter o valor do atributo
OBJ_ATTR_WRAP
(262). Para criar uma chave de encapsulamento, use genSymKey a fim de criar uma chave AES (digite 31).Se você usar o parâmetro
-wk
para especificar uma chave de desencapsulamento externa, a chave de encapsulamento-w
será usada para encapsular, mas não para desencapsular, a chave durante a importação.Obrigatório: Sim
-sess
-
Especifica a chave importada como uma chave de sessão.
Padrão: a chave importada é mantida como uma chave persistente (token) no cluster.
Obrigatório: Não
-id
-
Especifica o ID da chave a ser importada.
Padrão: sem valor de ID.
Obrigatório: Não
-m_value
-
Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chave importada. Insira um valor de
0
a8
.Esse parâmetro é válido somente quando o parâmetro
-u
no comando compartilha a chave com usuários o suficiente para atender ao requisito dem_value
.Padrão: 0
Obrigatório: Não
-min_srv
-
Especifica o número mínimo de HSMs nos quais a chave importada é sincronizada antes da expiração do valor do parâmetro
-timeout
. Se a chave não for sincronizada com o número especificado de servidores na hora alocada, ela não será criada.O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Para agilizar o processo, configure o valor de
min_srv
como menos que o número de HSMs no cluster e defina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.Padrão: 1
Obrigatório: Não
-timout
-
Especifica o número de segundos a aguardar a sincronização da chave entre os HSMs quando o parâmetro
min-serv
é incluído. Se nenhum número for especificado, a sondagem continuará para sempre.Padrão: sem limite
Obrigatório: Não
-u
-
Especifica a lista de usuários com os quais compartilhar a chave privada importada. Este parâmetro dá a outros usuários de criptografia (CUs) HSM permissão para usar a chave importada em operações criptográficas.
Insira uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como
-u 5,6
. Não inclua o ID do usuário atual do HSM. Para encontrar o ID do usuário de CUs no HSM, use listUsers.Padrão: somente o usuário atual pode utilizar a chave importada.
Obrigatório: Não
-wk
-
Especifica a chave a ser usada para encapsular a chave que está sendo importada. Insira o caminho e o nome de um arquivo que contém uma chave AES de texto simples.
Quando você inclui esse parâmetro, importPrivateKey usa a chave no arquivo
-wk
para encapsular a chave que está sendo importada. Ele também usa a chave especificada pelo parâmetro-w
para desencapsulá-la.Padrão: use a chave de encapsulamento especificada no parâmetro
-w
para encapsular e desencapsular.Obrigatório: Não
-attest
-
Executa uma verificação de declaração na resposta do firmware para garantir que o firmware no qual o cluster é executado não tenha sido comprometido.
Obrigatório: Não