

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Verifique una firma que se hizo con el mecanismo ECDSA en la CLI de CloudHSM
<a name="cloudhsm_cli-crypto-verify-ecdsa"></a>

Use el comando **crypto verify ecdsa** de la CLI de CloudHSM para realizar las siguientes operaciones:
+ Confirme que un archivo se haya firmado en el HSM con una clave pública determinada.
+ Verifique que la firma se haya generado mediante el mecanismo de firma ECDSA.
+ Compare un archivo firmado con un archivo de origen y determine si los dos están relacionados criptográficamente en función de una clave pública ecdsa y un mecanismo de firma determinados. 
+  La función de verificación del ECDSA espera la firma en el formato `r||s` en el que los componentes r y s se concatenan como datos binarios sin procesar. 

Para usar el **crypto verify ecdsa** comando, primero debe tener una clave pública EC en su clúster. AWS CloudHSM Puede importar una clave pública EC mediante el comando [Importación de una clave en formato PEM con la CLI de CloudHSM](cloudhsm_cli-key-import-pem.md) con el atributo `verify` establecido en `true`.

**nota**  
Puede generar una firma en la CLI de CloudHSM con subcomandos [La categoría de firma criptográfica en la CLI de CloudHSM](cloudhsm_cli-crypto-sign.md).

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

Los tipos de usuarios siguientes pueden ejecutar este comando.
+ Usuarios criptográficos (CUs)

## Requisitos
<a name="cloudhsm_cli-crypto-verify-ecdsa-requirements"></a>
+ Para ejecutar este comando, debe iniciar sesión como CU.

## Sintaxis
<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
```

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

En estos ejemplos, se muestra cómo usar **crypto verify ecdsa** para verificar que una firma se haya generado mediante el mecanismo de firma ECDSA y la función hash `SHA256`. Este comando usa una clave pública en el HSM.

**Example Ejemplo: verifique una firma codificada en Base64 con datos codificados en 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 Ejemplo: verifique un archivo de firma con un archivo de datos**  

```
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 Ejemplo: demostrar una relación de firma falsa**  
Este comando comprueba si los datos ubicados en `/home/data` se firmaron mediante una clave pública con la etiqueta `ecdsa-public` usando el mecanismo de firma ECDSA para generar la firma ubicada en `/home/signature`. Dado que los argumentos especificados no constituyen una relación de firma verdadera, el comando devuelve un mensaje de error.  

```
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>}}**  
El ID del clúster en el que se va a ejecutar esta operación.  
Obligatorio: si se han [configurado](cloudhsm_cli-configs-multi-cluster.md) varios clústeres.

**{{<DATA>}}**  
Datos codificados en Base64 para firmarse.  
Obligatorio: Sí (a menos que se proporcione por la ruta de datos)

**{{<DATA\_PATH>}}**  
Especifica la ubicación de los datos que se deben firmar.  
Obligatorio: Sí (a menos que se proporcione por la ruta de datos)

**{{<HASH\_FUNCTION>}}**  
Especifica la función hash.   
Valores válidos:  
+ sha1
+ sha224
+ sha256
+ sha384
+ sha512
Obligatorio: sí

**{{<KEY\_FILTER>}}**  
Referencia clave (por ejemplo, `key-reference=0xabc`) o lista de atributos clave separados por espacios en forma de `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` para seleccionar una clave coincidente.  
Para obtener una lista de los atributos clave de la CLI de CloudHSM que son compatibles, consulte Atributos clave para la CLI de CloudHSM.  
Obligatorio: sí

**{{<SIGNATURE>}}**  
Firma codificada en Base64.  
Obligatorio: Sí (a menos que se proporcione por la ruta de firmas)

**{{<SIGNATURE\_PATH>}}**  
Especifica la ubicación de la firma.  
Obligatorio: Sí (a menos que se proporcione por la ruta de firmas)

**{{<DATA\_TYPE>}}**  
 Especifica si el valor del parámetro de datos debe someterse a hash como parte del algoritmo de firma. Use `raw` para datos sin aplicar hash; use `digest` para resúmenes, que ya están sometidos a hash.   
Valores válidos:  
+ raw
+ resumen

## Temas relacionados
<a name="cloudhsm_cli-crypto-verify-ecdsa-seealso"></a>
+ [La categoría de firma criptográfica en la CLI de CloudHSM](cloudhsm_cli-crypto-sign.md)
+ [La categoría de verificación criptográfica en la CLI de CloudHSM](cloudhsm_cli-crypto-verify.md)