

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

# AWS 私有 CA 模板操作顺序
<a name="template-order-of-operations"></a>

颁发的证书中包含的信息可能来自四个来源：模板定义、API 传递、CSR 传递和 CA 配置。

只有在使用 API 传递或 APICSR 传递模板时，才会重视 API 传递值。只有在使用 CSRPassthrough 或 APICSR 直通模板时，才会尊重 CSR 直通。当这些信息来源发生冲突时，通常适用一般规则：对于每个扩展值，模板定义的优先级最高，其次是 API 传递值，最后是 CSR 传递扩展。

**示例**

1. [EndEntityClientAuthCertificate\$1](template-definitions.md#EndEntityClientAuthCertificate_APIPassthrough) 的模板定义使用值APIPassthrough为 “TLS Web 服务器身份验证、TLS Web 客户端身份验证” 的 ExtendedKeyUsage 扩展名。如果在 CSR 或`IssueCertificate``ApiPassthrough`参数中定义， ExtendedKeyUsage 则 ExtendedKeyUsage 将忽略的`ApiPassthrough`值，因为模板定义具有优先级；值的 CSR ExtendedKeyUsage 值将被忽略，因为模板不是 CSR 直通变体。
**注意**  
尽管如此，模板定义还是复制了 CSR 中的其他值，例如使用者和使用者备用名称。尽管模板并非 CSR 传递种类，但这些值仍取自 CSR，因为模板定义始终具有最高优先级。

1. [EndEntityClientAuthCertificate\$1](template-definitions.md#EndEntityClientAuthCertificate_APICSRPassthrough) 的模板APICSRPassthrough定义将主题备用名称 (SAN) 扩展定义为从 API 或 CSR 中复制。如果在 CSR 中定义了 SAN 扩展并在 `IssueCertificate`` ApiPassthrough` 参数中提供，则 API 传递值将优先，因为 API 传递值优先于 CSR 传递值。