

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á.

# Pesquise AWS CloudHSM chaves por atributos usando KMU
<a name="key_mgmt_util-findKey"></a>

Use o **findKey** comando no AWS CloudHSM key\_mgmt\_util para pesquisar chaves pelos valores dos atributos da chave. Quando uma chave corresponder a todos os critérios que você definir, **findKey** retornará o identificador de chave. Sem parâmetros, **findKey** retorna os identificadores de chave de todas as chaves que você pode usar no HSM. Para encontrar os valores de atributo de uma determinada chave, use [getAttribute](key_mgmt_util-getAttribute.md).

Como todos os comandos de key\_mgmt\_util, **findKey** é específico do usuário. Ele retorna apenas as chaves que o usuário atual pode usar em operações criptográficas. Isso inclui chaves que o usuário atual possui e as chaves que foram compartilhadas com ele. 

Antes de executar um comando key\_mgmt\_util, você deve [iniciar key\_mgmt\_util](key_mgmt_util-setup.md#key_mgmt_util-start) e [fazer login](key_mgmt_util-log-in.md) no HSM como um usuário de criptografia (CU). 

## Sintaxe
<a name="findKey-syntax"></a>

```
findKey -h 

findKey [-c {{<key class>}}] 
        [-t {{<key type>}}]
        [-l {{<key label>}}] 
        [-id {{<key ID>}}]
        [-sess (0 | 1)] 
        [-u {{<user-ids>}}]
        [-m {{<modulus>}}]
        [-kcv {{<key_check_value>}}]
```

## Exemplos
<a name="findKey-examples"></a>

Esses exemplos mostram como usar **findKey** para encontrar e identificar chaves em seu HSMs.

**Example : Encontrar todas as chaves**  
Esse comando encontra todas as chaves para o usuário atual no HSM. A saída inclui chaves que o usuário possui e compartilha, e todas as chaves públicas no HSMs.  
Para obter os atributos de uma chave com um identificador de chave específico, use [getAttribute](key_mgmt_util-getAttribute.md). Para determinar se o usuário atual possui ou compartilha uma chave específica, use [getKeyInfo](key_mgmt_util-getKeyInfo.md)ou [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)em cloudhsm\_mgmt\_util.  

```
Command: findKey

Total number of keys present 13

 number of keys matched from start index 0::12
6, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

**Example : Encontrar chaves por tipo, usuário e sessão**  
Este comando encontra chaves AES persistentes que o usuário atual e o usuário 3 podem usar. (O usuário 3 pode usar outras chaves que o usuário atual não pode ver.)  

```
Command: findKey -t 31 -sess 0 -u 3
```

**Example : Encontrar chaves por classe e rótulo**  
Este comando encontra todas as chaves públicas para o usuário atual com o rótulo `2018-sept`.  

```
Command: findKey -c 2 -l 2018-sept
```

**Example : Encontrar chaves RSA por módulo**  
Este comando encontra as chaves RSA (tipo 0) para o usuário atual que foram criadas usando o módulo no arquivo `m4.txt`.  

```
Command: findKey -t 0 -m m4.txt
```

## Parâmetros
<a name="findKey-parameters"></a>

**-h**  
Exibe a ajuda referente ao comando.   
Obrigatório: Sim

**-t**  
Encontra chaves do tipo especificado. Insira a constante que representa a classe de chave. Por exemplo, para encontrar chaves 3DES, digite `-t 21`.  
Valores válidos:   
+ 0: [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem))
+ 1: [DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)
+ 3: [EC](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)
+ 16: [GENERIC\_SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962)
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4)
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES)
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Obrigatório: não

**-c**  
Localiza chaves na classe especificada. Insira a constante que representa a classe de chave. Por exemplo, para encontrar chaves públicas, digite `-c 2`.  
Valores válidos para cada tipo de chave:  
+ 2: Pública. Essa classe contém as chaves públicas dos pares de chaves públicas-privadas.
+ 3: Privada. Essa classe contém as chaves privadas dos pares de chaves públicas-privadas.
+ 4: Secreta. Essa classe contém todas as chaves simétricas.
Obrigatório: não

**-l**  
Encontra chaves com o rótulo especificado. Digite o rótulo exato. Você não pode usar caracteres curinga ou expressões regulares no valor `--l`.  
Obrigatório: não

**-id**  
Encontra a chave com o ID especificado. Digite a string de ID exata. Você não pode usar caracteres curinga ou expressões regulares no valor `-id`.  
Obrigatório: não

**-sess**  
Localiza chaves por status da sessão. Para encontrar as chaves válidas apenas na sessão atual, digite `1`. Para localizar chaves persistentes, digite `0`.  
Obrigatório: não

**-u**  
Encontra as chaves dos usuários especificados e o compartilhamento de usuários atual. Digite uma lista separada por vírgulas de usuários do HSM IDs, como ou. `-u 3` `-u 4,7` Para encontrar o número IDs de usuários em um HSM, use [ListUsers](key_mgmt_util-listUsers.md).  
Quando você especifica um ID de usuário, **findKey** retorna as chaves para esse usuário. Quando você especifica vários usuários IDs, **findKey** retorna as chaves que todos os usuários especificados podem usar.  
Como **findKey** simplesmente retorna as chaves que o usuário atual pode usar, os resultados de `-u` são sempre idênticos às, ou um subconjunto das, chaves do usuário atual. Para obter todas as chaves pertencentes a ou compartilhadas com qualquer usuário, os agentes criptográficos (COs) podem usar [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)em cloudhsm\_mgmt\_util.  
Obrigatório: não

**-m**  
Localiza as chaves que foram criadas usando o módulo RSA no arquivo especificado. Digite o caminho para o arquivo que armazena o módulo.  
-m especifica o arquivo binário que contém o módulo RSA a ser correspondido (opcional).  
Obrigatório: não

**-kcv**  
Encontra chaves com o valor de verificação de chave especificado.  
O *key check value* (KCV – valor de verificação de chave) é um hash de 3 bytes ou soma de verificação de uma chave gerada quando o HSM importa ou gera uma chave. Você também pode calcular um KCV fora do HSM, como depois de exportar uma chave. Em seguida, é possível comparar os valores do KCV para confirmar a identidade e a integridade da chave. Para obter o KCV de uma chave, use [getAttribute](key_mgmt_util-getAttribute.md).  
AWS CloudHSM usa o seguinte método padrão para gerar um valor de verificação de chave:  
+ **Chaves simétricas**: primeiros 3 bytes do resultado da criptografia de um bloco zero com a chave.
+ **Pares de chaves assimétricas**: primeiros 3 bytes do hash SHA-1 da chave pública.
+ **Chaves HMAC**: o KCV para chaves HMAC não é suportado no momento.
Obrigatório: não

## Output
<a name="findKey-output"></a>

A saída **findKey** mostra o número total de chaves correspondentes e seus identificadores de chave.

```
        Command:  findKey
Total number of keys present 10

 number of keys matched from start index 0::9
6, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

## Tópicos relacionados
<a name="findKey-seealso"></a>
+ [findSingleKey](key_mgmt_util-findSingleKey.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)em cloudhsm\_mgmt\_util
+ [Referência de atributos de chave](key-attribute-table.md)