

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

# Verifique uma assinatura assinada com o mecanismo ECDSA na CloudHSM CLI
<a name="cloudhsm_cli-crypto-verify-ecdsa"></a>

Use o comando **crypto verify ecdsa** na CloudHSM CLI para concluir as seguintes operações:
+ Confirme se um arquivo foi assinado no HSM por uma determinada chave pública.
+ Verifique se a assinatura foi gerada usando o mecanismo de assinatura ECDSA.
+ Compare um arquivo assinado com um arquivo de origem e determina se os dois estão criptograficamente relacionados com base em uma determinada chave pública ecdsa e em um mecanismo de assinatura. 
+  A função de verificação do ECDSA espera a assinatura no formato`r||s`, em que os componentes r e s são concatenados como dados binários brutos. 

Para usar o **crypto verify ecdsa** comando, primeiro você deve ter uma chave pública EC em seu AWS CloudHSM cluster. Você pode importar uma chave pública EC usando o comando [Importar uma chave no formato PEM com a CLI do CloudHSM](cloudhsm_cli-key-import-pem.md) com o atributo `verify` definido como `true`.

**nota**  
Você pode gerar uma assinatura na CloudHSM CLI com os subcomandos contidos em [A categoria de assinatura criptográfica na CLI do CloudHSM](cloudhsm_cli-crypto-sign.md).

## Tipo de usuário
<a name="cloudhsm_cli-crypto-verify-ecdsa-userType"></a>

Os seguintes tipos de usuários podem executar este comando.
+ Usuários de criptomoedas (CUs)

## Requisitos
<a name="cloudhsm_cli-crypto-verify-ecdsa-requirements"></a>
+ Para executar esse comando, você deve estar registrado(a) como um CU.

## Sintaxe
<a name="cloudhsm_cli-crypto-verify-ecdsa-syntax"></a>

```
aws-cloudhsm > help crypto verify ecdsa
Verify with the ECDSA mechanism

Usage: crypto verify ecdsa --key-filter [{{<KEY_FILTER>}}...] --hash-function {{<HASH_FUNCTION>}} <--data-path {{<DATA_PATH>}}|--data {{<DATA>}}> <--signature-path {{<SIGNATURE_PATH>}}|--signature {{<SIGNATURE>}}>

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
      --key-filter [{{<KEY_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 matching key
      --hash-function {{<HASH_FUNCTION>}}
          [possible values: sha1, sha224, sha256, sha384, sha512]
      --data-path {{<DATA_PATH>}}
          The path to the file containing the data to be verified
      --data {{<DATA>}}
          Base64 encoded data to be verified
      --signature-path {{<SIGNATURE_PATH>}}
          The path to where the signature is located
      --signature {{<SIGNATURE>}}
          Base64 encoded signature to be verified
      --data-type {{<DATA_TYPE>}}
          The type of data passed in, either raw or digest [possible values: raw, digest]
  -h, --help
          Print help
```

## Exemplo
<a name="cloudhsm_cli-crypto-verify-ecdsa-examples"></a>

Esses exemplos mostram como usar o **crypto verify ecdsa** para verificar uma assinatura que foi gerada usando o mecanismo de assinatura ECDSA e a função hash `SHA256`. Esse comando usa uma chave pública no HSM.

**Example Exemplo: verificar uma assinatura codificada em Base64 com dados codificados em Base64**  

```
aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data YWJjMTIz --signature 4zki+FzjhP7Z/KqoQvh4ueMAxQQVp7FQguZ2wOS3Q5bzk+Hc5irV5iTkuxQbropPttVFZ8V6FgR2fz+sPegwCw==
{
  "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

**Example Exemplo: verificar um arquivo de assinatura com um arquivo de dados**  

```
aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data-path data.txt --signature-path signature-file
{
   "error_code": 0,
  "data": {
    "message": "Signature verified successfully"
  }
}
```

**Example Exemplo: provar relacionamento de assinatura falso**  
Esse comando verifica se os dados localizados em `/home/data` foram assinados por uma chave pública com o rótulo `ecdsa-public` usando o mecanismo de assinatura ECDSA para produzir a assinatura localizada em `/home/signature`. Como os argumentos fornecidos não formam um relacionamento de assinatura verdadeiro, o comando retorna uma mensagem de erro.  

```
aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data aW52YWxpZA== --signature +ogk7M7S3iTqFg3SndJfd91dZFr5Qo6YixJl8JwcvqqVgsVuO6o+VKvTRjz0/V05kf3JJbBLr87Q+wLWcMAJfA==
{
  "error_code": 1,
  "data": "Signature verification failed"
}
```

## Argumentos
<a name="cloudhsm_cli-crypto-verify-ecdsa-arguments"></a>

**{{<CLUSTER\_ID>}}**  
O ID do cluster em que essa operação será executada.  
Obrigatório: se vários clusters tiverem sido [configurados.](cloudhsm_cli-configs-multi-cluster.md)

**{{<DATA>}}**  
Dados codificados em Base64 a serem assinados.  
Obrigatório: sim (a menos que seja fornecido por meio do caminho de dados)

**{{<DATA\_PATH>}}**  
Especifica o local dos dados a serem assinados.  
Obrigatório: sim (a menos que seja fornecido por meio do caminho de dados)

**{{<HASH\_FUNCTION>}}**  
Especifica a função hash.   
Valores válidos:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
Obrigatório: Sim

**{{<KEY\_FILTER>}}**  
Referência de chave (por exemplo, `key-reference=0xabc`) ou lista separada por espaços de atributos de chave na forma de `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` selecionar uma chave correspondente.  
Para obter uma lista dos atributos de chave compatíveis com a CloudHSM CLI, consulte Atributos de chave da CloudHSM CLI.  
Obrigatório: Sim

**{{<SIGNATURE>}}**  
Assinatura codificada em Base64.  
Obrigatório: sim (a menos que seja fornecido por meio do caminho da assinatura)

**{{<SIGNATURE\_PATH>}}**  
Especifica o local da assinatura.  
Obrigatório: sim (a menos que seja fornecido por meio do caminho da assinatura)

**{{<DATA\_TYPE>}}**  
 Especifica se o valor do parâmetro de dados deve ser criptografado com hash como parte do algoritmo de assinatura. Use `raw` para dados sem hash; use `digest` para resumos, que já estão criptografados com hash.   
Valores válidos:  
+ bruto
+ resumo

## Tópicos relacionados
<a name="cloudhsm_cli-crypto-verify-ecdsa-seealso"></a>
+ [A categoria de assinatura criptográfica na CLI do CloudHSM](cloudhsm_cli-crypto-sign.md)
+ [A categoria de verificação de criptografia na CLI do CloudHSM](cloudhsm_cli-crypto-verify.md)