

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 uma assinatura usando o AWS CloudHSM KMU
<a name="key_mgmt_util-sign"></a>

Use o **sign** comando no AWS CloudHSM key\_mgmt\_util para usar uma chave privada escolhida para gerar uma assinatura para um arquivo.

Para usar **sign**, primeiro você deve ter uma chave privada no HSM. Você pode gerar uma chave privada com os comandos **[genSymKey](key_mgmt_util-genSymKey.md)**, **[genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)** ou **[genECCKeyPair](key_mgmt_util-genECCKeyPair.md)**. Você também pode importar uma com o comando **[importPrivateKey](key_mgmt_util-importPrivateKey.md)**. Para mais informações, consulte [Gerar chaves](generate-keys.md).

O comando **sign** usa um mecanismo de assinatura designada pelo usuário, representado por um número inteiro, para assinar um arquivo de mensagem. Para obter uma lista de possíveis mecanismos de assinatura, consulte [Parâmetros](#sign-parameters).

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="sign-syntax"></a>

```
sign -h

sign -f {{<file name>}}
     -k {{<private key handle>}}
     -m {{<signature mechanism>}}
     -out {{<signed file name>}}
```

## Exemplo
<a name="sign-examples"></a>

Este exemplo mostra como usar **sign** para assinar um arquivo.

**Example : Sign a file**  
Esse comando assina um arquivo chamado `messageFile` com uma chave privada com identificador `266309`. Ele usa o mecanismo de assinatura `SHA256_RSA_PKCS` (`1`) e salva o arquivo assinado resultante como `signedFile`.  

```
Command: sign -f messageFile -k 266309 -m 1 -out signedFile

Cfm3Sign returned: 0x00 : HSM Return: SUCCESS

signature is written to file signedFile

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
<a name="sign-parameters"></a>

Esse comando usa os seguintes parâmetros.

**`-f`**  
O nome do arquivo a ser assinado.  
Obrigatório: Sim

**`-k`**  
O identificador da chave privada a ser usada para assinatura.  
Obrigatório: Sim

**`-m`**  
Um inteiro que representa o mecanismo de assinatura a ser usado para assinatura. Os mecanismos possíveis correspondem aos seguintes números inteiros:  


<table>
<thead>
  <tr><th>Mecanismo de assinatura</th><th>Número inteiro correspondente</th></tr>
</thead>
<tbody>
  <tr><td><code>SHA1_RSA_PKCS</code></td><td>0</td></tr>
  <tr><td><code>SHA256_RSA_PKCS</code></td><td>1</td></tr>
  <tr><td><code>SHA384_RSA_PKCS</code></td><td>2</td></tr>
  <tr><td><code>SHA512_RSA_PKCS</code></td><td>3</td></tr>
  <tr><td><code>SHA224_RSA_PKCS</code></td><td>4</td></tr>
  <tr><td><code>SHA1_RSA_PKCS_PSS</code></td><td>5</td></tr>
  <tr><td><code>SHA256_RSA_PKCS_PSS</code></td><td>6</td></tr>
  <tr><td><code>SHA384_RSA_PKCS_PSS</code></td><td>7</td></tr>
  <tr><td><code>SHA512_RSA_PKCS_PSS</code></td><td>8</td></tr>
  <tr><td><code>SHA224_RSA_PKCS_PSS</code></td><td>9</td></tr>
  <tr><td><code>ECDSA_SHA1</code></td><td>15</td></tr>
  <tr><td><code>ECDSA_SHA224</code></td><td>16</td></tr>
  <tr><td><code>ECDSA_SHA256</code></td><td>17</td></tr>
  <tr><td><code>ECDSA_SHA384</code></td><td>18</td></tr>
  <tr><td><code>ECDSA_SHA512</code></td><td>19</td></tr>
</tbody>
</table>

Obrigatório: Sim

**`-out`**  
O nome do arquivo no qual o arquivo assinado será salvo.  
Obrigatório: Sim

## Tópicos relacionados
<a name="sign-seealso"></a>
+ [verify](key_mgmt_util-verify.md)
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [2 gênios RSAKey Pair](key_mgmt_util-genRSAKeyPair.md)
+ [2 gênios ECCKey Pair](key_mgmt_util-genECCKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [Gerar chaves](generate-keys.md)