我尝试为 AWS Certificate Manager (ACM) 请求新的私有终端实体证书或从属 CA,但请求失败。
简短描述
要对失败的私有证书请求进行故障排除,请检查以下内容:
- 证书颁发机构的 pathLenConstraint 参数。
- 证书颁发机构的状态。
- 证书颁发机构的签名算法系列。
- 请求证书的有效期。
- AWS Identity and Access Management (IAM) 权限。
解决方法
证书颁发机构的“pathLenConstraint”参数
如果所创建 CA 的路径长度大于或等于其颁发 CA 证书的路径长度,则会返回 ValidationException 错误。确保用于颁发 ACM 从属 CA 的 pathLenConstraint 小于颁发 CA 的路径长度。
证书颁发机构的状态
如果使用包含过期 CA(其未处于活动状态)的 IssueCertificate API 颁发新 PCA 证书,则会返回 InvalidStateException 故障代码。
如果签名 CA 已过期,请确保首先续订该证书,然后再颁发新的从属 CA 证书或 ACM 私有证书。
证书颁发机构的签名算法系列
AWS 管理控制台不支持颁发私有 ECDSA 证书,因此不可颁发 CA。即使已创建 ECDSA 私有从属证书颁发机构,也会出现这种情况。您可以通过 --signing-algorithm 标志使用 IssueCertificate API 调用并指定 ECDSA 变体。
请求证书的有效期
由 ACM 颁发和托管的证书(ACM 为这些证书生成私有密钥)的有效期为 13 个月(395 天)。
对于 ACM 私有 CA,您可以使用 IssueCertificate API 应用任何有效期。但是,如果您指定的证书有效期长于证书颁发机构的证书有效期,则证书颁发将失败。
最佳实践是将 CA 证书的有效期值设置为子证书或终端实体证书有效期的两到五倍。有关更多信息,请参阅选择有效期。
IAM 权限
使用 IAM 身份颁发的私有证书必须具有所需的权限,否则请求将失败并显示“AccessDenied”错误。最佳实践是授予您的 IAM 身份颁发私有证书的权限,同时遵循授予最低权限的原则。
有关更多信息,请参阅适用于 AWS Certificate Manager Private Certificate Authority 的 Identity and Access Management。