

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 AWS CloudHSM KMU 验证文件的签名
<a name="key_mgmt_util-verify"></a>

使用 AWS CloudHSM key\$1mgmt\$1util 中的**verify**命令确认文件是否已由给定密钥签名。要执行此操作，**verify** 命令将签名文件与源文件进行比较，并根据给定的公有密钥和签名机制分析它们是否与加密相关。可以通过**[sign](key_mgmt_util-sign.md)**操作登录 AWS CloudHSM 文件。

签名机制用[参数](#verify-parameters)部分中列出的整数表示。

在运行任何 key\$1mgmt\$1util 命令之前，您必须[启动 key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) 并以加密用户（CU）身份[登录](key_mgmt_util-log-in.md)到 HSM。

## 语法
<a name="verify-syntax"></a>

```
verify -h

verify -f <message-file>
       -s <signature-file>
       -k <public-key-handle>
       -m <signature-mechanism>
```

## 示例
<a name="verify-examples"></a>

这些示例演示如何使用 **verify** 检查特定公有密钥是否用于对给定文件签名。

**Example ：验证文件签名**  
此命令尝试使用 `SHA256_RSA_PKCS` 签名机制验证名为 `hardwarCert.crt` 的文件是否通过公有密钥 `262276` 签名，以生成 `hardwareCertSigned` 签名文件。由于给定参数表示一个真正的签名关系，所以命令会返回成功消息。  

```
Command: verify -f hardwareCert.crt -s hardwareCertSigned -k 262276 -m 1

Signature verification successful

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

**Example ：证明为错误的签名关系**  
此命令使用 `SHA256_RSA_PKCS` 签名机制验证名为 `hardwareCert.crt` 的文件是否通过公有密钥 `262276` 签名，以生成 `userCertSigned` 签名文件。由于给定参数不构成真正的签名关系，所以命令会返回错误消息。  

```
Command: verify -f hardwarecert.crt -s usercertsigned -k 262276 -m 1
Cfm3Verify returned: 0x1b

CSP Error: ERR_BAD_PKCS_DATA
```

## 参数
<a name="verify-parameters"></a>

此命令采用以下参数。

**`-f`**  
原始消息文件的名称。  
是否必需：是

**`-s`**  
签名文件名称。  
必需：是

**`-k`**  
公有密钥的句柄会被认为用于对文件签名。  
是否必需：是

**`-m`**  
表示建议签名机制的一个整数，用于对文件签名。可能的机制对应于以下整数：      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/key_mgmt_util-verify.html)
是否必需：是

## 相关主题
<a name="verify-seealso"></a>
+ [sign](key_mgmt_util-sign.md)
+ [getCert](key_mgmt_util-genECCKeyPair.md)
+ [生成密钥](generate-keys.md)