如何解决颁发或续订 ACM 证书时遇到的 CAA 错误?
我请求了新证书或尝试了通过 AWS Certificate Manager(ACM)续订证书。域名状态为“失败”,并且我收到了类似以下内容的错误: “请求失败。此证书的状态为“失败”。由于证书颁发机构身份验证 (CAA) 错误,一个或多个域名未通过验证。” 验证状态为“成功”,但实际上证书请求失败。
简短描述
证书颁发机构授权(CAA)记录是一种 DNS 记录,供您控制哪些证书颁发机构(CA)可以为您的域或子域颁发证书。请求或续订 ACM 证书时,ACM 会检查 CAA 记录,以验证域所有者是否允许 ACM 为域颁发 SSL 证书。执行的 CAA 检查有以下条件:
- CAA 记录检查上攀 DNS 名称树
- 无 CAA 记录意味着任何 CA 都可以颁发证书
- CAA 记录检查跟随 CNAME 记录
- “issue”标签可用于非通配符域和通配符域,而“issuewild”标签仅影响通配符域
解决方法
CAA 记录检查上攀 DNS 名称树
CAA 记录检查从请求域开始,然后在 DNS 名称树中向上移动。如果您为 www.example.com 请求证书,则 ACM 先检查第三级域 www.example.com 的 CAA 记录,然后检查第二级域名 example.com。
找到 CAA 记录后,CAA 查找停止,记录生效。下面的示例显示了为 www.example.com 请求证书时哪些 CAA 记录生效:
(Example 1 / www.example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issue "SomeCA.com" (Result: CAA passed)
第三级域名的记录生效,允许 ACM 颁发证书。不使用第二级域名记录。
(Example 2 / www.example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA failed)
第一个记录生效,这可阻止 ACM 颁发证书。第二个记录将被忽略。
(Example 3 / www.example.com) Domain Record type Flags Tag Value test.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
第一个记录不会影响 www.example.com 的 CAA 记录。第二个记录生效,允许 ACM 颁发证书。
下面的示例显示了为 example.com 请求证书时哪些 CAA 记录生效:
(Example 4 / example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issue "SomeCA.com" (Result: CAA failed)
不考虑第一个记录,因为 www.example.com 是所请求域的一个子域,CAA 记录检查不会下攀 DNS 树。第二个记录生效,这可阻止 ACM 颁发证书。
(Example 5 / example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issue "SomeCA.com" example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
忽略第一个记录,因为 www.example.com 是所请求域的一个子域,CAA 记录检查不会下攀 DNS 名称树。第二个记录生效,允许 ACM 颁发证书。
无 CAA 记录意味着任何 CA 都可以颁发证书
如果您不为请求的域配置 CAA 记录,则包括 ACM 在内的任何 CA 都可以为您的域颁发证书。例如,在下例中 ACM 可以为 example.com 颁发证书:
(Example 6 / example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issue ";" (Result: CAA passed)
由于 CAA 检查不会下攀 DNS 树,记录将被忽略。
CAA 记录检查跟随 CNAME 记录
CAA 记录检查继续对指向不同域的 CNAME 记录进行。在此例中,www.example.com 指向 www.example.net,后者也有 CAA 记录:
(Example 7 / www.example.com) Domain Record type Flags Tag Value www.example.com. CNAME www.example.net www.example.net. CAA 0 issue ";" (Result: CAA failed)
第一个记录将 CAA 检查转向 www.example.net。此 CAA 记录可阻止任何 CA 颁发证书,ACM 无法为 www.example.com 颁发证书。
如果所指向的域(www.example.net)没有 CAA 记录,则 CAA 记录检查将上攀到基本域(example.com)。
(Example 8 / www.example.com) Domain Record type Flags Tag Value www.example.com. CNAME www.example.net example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
在这种情况下,ACM 可以为 www.example.com 颁发证书,因为 www.example.net 没有配置任何 CAA 记录。请注意,CAA 记录检查不会上攀到 CNAME 记录的父级,不检查 example.net 的 CAA 记录。有关更多信息,请参阅公共可信证书的颁发和管理基本要求中的附录 A。
"issue" 标签可用于非通配符域和通配符域,而 "issuewild" 标签仅影响通配符域
"issue" 标签允许 CA 为非通配符域(www.example.com)和通配符域(*.example.com)颁发证书。您可以使用 "issuewild" 标签指示 CA 如何处理通配符域。下面的示例显示了为 *.example.com 请求证书时哪些 CAA 记录生效:
(Example 9 / *.example.com) Domain Record type Flags Tag Value example.com. CAA 0 issue "amazon.com" (Result: CAA passed)
CAA 记录允许 ACM 颁发非通配符域和通配符域证书,ACM 可以颁发证书。
(Example 10 / *.example.com) Domain Record type Flags Tag Value example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA failed)
对于通配符域请求,标签字段“issuewild”优先于“issue”,ACM 不能颁发证书。
**注意:**您必须为 example.com 设置 CAA 记录,以允许 CA 为 *.example.com 颁发证书。
(Example 11 / *.example.com) Domain Record type Flags Tag Value *.example.com. CAA 0 issuewild "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA failed)
第一个 CAA 记录将被忽略,第二个 CAA 记录阻止 CA 为 *.example.com 颁发证书。
下面的示例显示了为 *.test.example.com 请求证书时哪些 CAA 记录生效:
(Example 12 / *.test.example.com) Domain Record type Flags Tag Value test.example.com. CAA 0 issue "amazon.com" example.com. CAA 0 issuewild ";" (Result: CAA passed)
CAA 检查找到第一个记录,终止上攀 DNS 名称树,并允许 ACM 颁发证书。
当您请求非通配符域时,“issuewild”标签将被忽略。此示例显示了为 www.example.com 请求证书时哪些 CAA 记录生效:
(Example 13 / www.example.com) Domain Record type Flags Tag Value www.example.com. CAA 0 issuewild "amazon.com" example.com. CAA 0 issue ";" (Result: CAA failed)
这是一个非通配符域请求,因此第一个 CAA 记录将被忽略。第二个 CAA 记录生效,不允许 CA 颁发证书。
有关创建 CAA 记录的更多信息,请参阅(可选)配置 CAA 记录。
相关信息
相关内容
- 已提问 1 年前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前