

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

# 证书存储限制
<a name="pkcs11-certificate-storage-limits"></a>

 以下限制适用于证书存储。你无法更改这些限制。存储的证书的最大数量适用于每个集群。读写速率限制适用于每个 HSM，因此集群支持的总速率会随着您添加 HSM 而增加。


| 限制 | 值 | Scope | 
| --- | --- | --- | 
| 存储的证书数量上限 | 60 | 每个集群 | 
| 每秒读取操作数 | 10 | 每个 HSM | 
| 每秒写入操作数 | 1 | 每个 HSM | 

 读取操作包括`C_FindObjectsInit`和`C_GetAttributeValue`。写入操作包括`C_CreateObject``C_SetAttributeValue`、和`C_DestroyObject`。

当您超过这些限制时，以下行为适用：
+  如果您超过存储的证书的最大数量，则`C_CreateObject`操作将返回`CKR_FUNCTION_FAILED`，证书存储会在证书存储审核日志中记录`MaxObjectsReached`错误。您现有的证书保持可读状态。要存储其他证书，请删除不再需要的证书。
+  如果您超过读取或写入速率限制，则证书存储会限制请求和操作的返回`CKR_FUNCTION_FAILED`，但返回`CKR_DEVICE_ERROR`（参见[问题：受限时 `C_ GetAttributeValue` 返回 C `KR` \_DEVICE\_ERROR](ki-pkcs11-sdk.md#ki-pkcs11-15)）除外。`C_GetAttributeValue`PKCS \#11 库不会重试受限制的证书存储操作（参见[问题：PKCS \#11 库无法重试受限制的证书存储操作](ki-pkcs11-sdk.md#ki-pkcs11-16)），因此您的应用程序必须使用指数退避来重试这些操作。有关更多信息，请参阅 [HSM 节流](troubleshoot-hsm-throttling.md)。

 要保持在读取速率限制之内，请减少应用程序发送的读取操作的次数。无论模板中的属性数量是多少，每次`C_GetAttributeValue`调用都算作一次读取操作。在一次调用中请求所需的所有属性的应用程序使用一次读取操作。对每个属性进行单独调用的应用程序对每个属性使用一个读取操作。添加 HSM 会增加集群支持的总速率，但不会改变此比率。有关更多信息，请参阅 [使用 PKCS \#11 库检索属性 AWS CloudHSM 客户端软件开发工具包 5](pkcs11-attributes-retrieve.md)。