

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

# 密钥存储提供程序 (KSP) 的已知问题 AWS CloudHSM
<a name="ki-ksp-sdk"></a>

这些是 AWS CloudHSM的密钥存储提供程序（KSP）的已知问题。

**Topics**
+ [问题：验证证书存储失败](#ki-ksp-1)
+ [问题：对客户端 SDK 5 使用 SDK3 兼容模式时，证书存储中的容器名称不一致](#ki-ksp-2)

## 问题：验证证书存储失败
<a name="ki-ksp-1"></a>

 使用 Client SDK 版本 5.14 和 5.15 时，调用 `certutil -store my CERTIFICATE_SERIAL_NUMBER` 会引发以下错误：

```
ERROR: Could not verify certificate public key against private key
```
+  **影响：**您无法使用 `certutil` 来验证使用 Client SDK 5 创建的证书存储。
+  **解决办法：**使用私有密钥对文件进行签名并使用公有密钥验证签名，从而验证与证书关联的密钥对。这可以通过使用 Microsoft SignTool 按照[此处](signtool-sdk5.md)提供的步骤来完成。
+  **解决状态：**我们正在努力增加对使用 `certutil` 验证证书的支持。当该修复可用时，将在版本历史记录页面中公布。

## 问题：对客户端 SDK 5 使用 SDK3 兼容模式时，证书存储中的容器名称不一致
<a name="ki-ksp-2"></a>

 在 AWS CLI 5.16.0 中使用`certutil -store my CERTIFICATE_SERIAL_NUMBER`命令查看其密钥引用文件是使用 g [enerate-file](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference) 命令生成的证书时，会出现以下错误：

```
ERROR: Container name inconsistent: CONTAINER_NAME
```

之所以出现此错误，是因为存储在证书中的容器名称与 CloudHSM CLI 生成的密钥引用文件名不匹配。
+  **影响：**尽管存在此错误，但证书及其关联密钥仍能正常运行。所有使用这些证书的应用程序将继续正常运行。
+ **解决办法：**要解决此错误，请将密钥引用文件名重命名为“简单”或“唯一”容器名称。请参阅命令 `certutil -store my` 的以下示例输出 

  ```
  Subject: CN=www.website.com, OU=Organizational-Unit, O=Organization, L=City, S=State, C=US 
  Non-root Certificate
  Cert Hash(sha1): 1add52
  Key Container = 7e3c-b2f5
  Simple container name: tq-3daacd89
  Unique container name: tq-3daacd89
  ERROR: Container name inconsistent: 7e3c-b2f5
  ```

   默认情况下，密钥引用文件将存储在 `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition` 

  1. 将密钥引用文件重命名为简单容器名称。

  1. 使用新的密钥容器名称修复证书存储。有关更多详细信息，请参阅 [KSP 迁移](ksp-migrate-to-sdk-5.md)中的步骤 12 到 14。
+  **解决状态：**此问题已在 Client SDK 版本 5.16.1 中修复。要解决此问题，请将您的 Client SDK 升级到版本 5.16.1 或更高版本。