为保证尽可能多的人可以公平使用国密ACME服务,证签技术提供了速率限制措施。 我们相信这些速率限制已经高到足以让大多数人在默认情况下使用。证签技术对证书颁发进行速率限制以确保尽可能多的人能合理使用我们的服务。我们相信这些速率限制在大多数情况下足以满足用户的需求。同时续期证书几乎不受速率限制的影响,所以建议大型机构可以逐步增加他们可以自动化申请的证书数量,这样就可以不受速率限制的影响。
如果你计划开发或测试一款国密ACME客户端,请等待我们开放接口文档,因为国密ACME并没有完全采用国际ACME标准(RFC 8555)。国际标准只能申请RSA或ECC算法单证书,我们是双算法双SSL证书,而国密SSL证书是双证书,所以国密ACME需要给用户自动申请和自动配置3张SSL证书。待我们开放接口文档,我们会提供测试环境,到时可以使用我们的测试环境而不是生产环境API. 如果您计划将国密ACME服务集成到其他平台服务中,也请等待我们开放接口,到时会提供集成指南。
我们的主要限制为 每个注册域名可签发证书数量(每周 10 张)。一般而言,注册域名是您从域名注册商处购买的域名。 例如: www.example.com 的注册域名为example.com, www.example.com.cn的注册域名为example.com.cn 我们依据 公共后缀列表 来计算注册域名。 超出每个注册域名可签发证书数量限制的请求,将会收到“too many certificates already issued”(此域名已经签发多张证书)的报错信息,同时可能提供其他信息。
您在1小时之内每个账户最多可以创建 10个新订单。 每次您从使用国密ACME服务请求证书时,都会创建一个新订单,这意味着每个证书请求中都会产生一个新订单。 超出新订单数量限制的请求,将会收到“too many new orders recently”(太多新订单)的报错信息。
如果您拥有很多子域名,您可能会希望将它们整合到一张证书中,限制为 每张证书最多20个域名。一旦超过域名数量的限制,将会收到“too many domains in one certificate”(此证书包含太多域名)的报错信息。出于性能和可靠性角度的考虑,建议您在每张证书中包含尽可能少的域名。含有太多的域名的证书会导致证书文件很大,不仅影响会拖慢用户访问网站的速度,而且会浪费您的网站的流量和浪费用户的手机流量。
续期证书遵守特殊规则:它们不计入您的 每个注册域名的证书数量 的限制,但它们受到每周最多 5 张重复证书 的限制。 一旦超过重复证书数量的限制,将会收到“too many certificates already issued for exact set of domains”(此域名已经签发了太多的证书)的报错信息。
忽略大小写和顺序,当一张证书与既有证书包含了完全一样的域名列表时,它会被视为既有证书的续签。 例如: 如果您已经为[www.example.com, example.com]申请签发了一张证书,那么本周您将可以再为 [www.example.com, example.com]申请签发四张证书。 如果您添加 [blog.example.com] 改变了域名列表,您就可以申请额外的证书。
免费证书90天到期后会自动提前7天续签,每次续签证书也遵循证书数量的限制。请注意:请求吊销证书不会减少证书数量的限制额度,因为证书数量的限制是限制证书签发的数量。
国密ACME服务接口 API的"new-nonce"、“new-account”、“new-order"和"revoke-cert"接口总请求数限制为每秒5次。 “/sm2acme"目录及其子目录的总请求数限制为每秒10 次。
此外还有两个您不太可能遇到的限制:
如果您达到了速率限制,我们没有办法帮助您暂时重置它。 您需要等待一周,直到这些速率限制过期。 我们使用了滑动窗口的方式,因此如果你在周一申请签发了5张证书,并且在周五又申请签发了5张证书,那么下周一起你将可以再次申请签发证书。 你可以在国密证书透明官网 sm2ct.cn 上搜索你已经申请签发的证书列表。
如果您是需要集成国密ACME服务的大型主机托管服务提供商或其他大型单位,您可以 联系我们 申请更高的速率限制,我们会尽快处理您的申请,处理结果会邮件通知,请注意及时查收。
如果您有大量待验证的证书申请订单并且受到了速率限制,最简单的方式是在提交订单之前先检查待验证的域名和验证文件是否在服务器上准备好,未准备好则不要提交订单。国密ACME客户端-SM2cerBot就是这样处理的。
如果您没有验证用户是否准备好就提交订单,则一定会有大量的用户未作为域名验证的准备就提交了证书申请,那您只能等待速率限制结束。 如上所述,速率限制基于滑动窗口,因此根据您颁发证书方式的不同,需要的时间可能不到一周。
请注意,拥有大量待验证订单通常是ACME客户端有问题。 如果您经常遇到此速率限制,则应仔细检查您的客户端代码,必须在客户端做好订单是否准备好的检查工作。