3. Relevant Resource Record Set (Relevantes Ressourceneintragsset)
3. Relevant Resource Record Set (Relevantes Ressourceneintragsset)
Vor Ausstellung eines Zertifikats MUSS eine konforme CA prüfen, ob ein Relevant RRset veröffentlicht ist. Existiert ein solches RRset, DARF eine CA kein Zertifikat ausstellen, es sei denn, sie stellt fest, dass entweder (1) die Zertifikatsanforderung mit dem anwendbaren CAA-RRset vereinbar ist oder (2) eine in der zugehörigen CP oder CPS genannte Ausnahme gilt. Enthält das Relevant RRset für einen FQDN oder Platzhalter-Domainnamen keine Property Tags, die die Ausstellung einschränken (z. B. nur iodef-Property Tags oder nur von der CA nicht erkannte Tags), schränkt CAA die Ausstellung nicht ein.
Eine Zertifikatsanforderung DARF mehr als einen FQDN und DARF Platzhalter-Domainnamen angeben. Aussteller MÜSSEN die Autorisierung für alle in der Anforderung angegebenen FQDNs und Platzhalter-Domainnamen prüfen.
Die Suche nach einem CAA-RRset steigt vom angegebenen Label im DNS-Namenbaum bis zur DNS-Wurzel "." (ohne diese einzuschließen), bis ein CAA-RRset gefunden wird.
Für eine Anforderung für einen bestimmten FQDN X oder einen Platzhalter-Domainnamen *.X wird das Relevant RRset RelevantCAASet(X) wie folgt bestimmt (Pseudocode):
Let CAA(X) be the RRset returned by performing a CAA record query
for the FQDN X, according to the lookup algorithm specified in
Section 4.3.2 of [RFC1034] (in particular, chasing aliases). Let
Parent(X) be the FQDN produced by removing the leftmost label of
X.
RelevantCAASet(domain):
while domain is not ".":
if CAA(domain) is not Empty:
return CAA(domain)
domain = Parent(domain)
return Empty
For example, processing CAA for the FQDN "X.Y.Z" where there are
no CAA records at any level in the tree RelevantCAASet would have
the following steps:
CAA("X.Y.Z.") = Empty; domain = Parent("X.Y.Z.") = "Y.Z."
CAA("Y.Z.") = Empty; domain = Parent("Y.Z.") = "Z."
CAA("Z.") = Empty; domain = Parent("Z.") = "."
return Empty
Processing CAA for the FQDN "A.B.C" where there is a CAA record
"issue example.com" at "B.C" would terminate early upon finding
the CAA record:
CAA("A.B.C.") = Empty; domain = Parent("A.B.C.") = "B.C."
CAA("B.C.") = "issue example.com"
return "issue example.com"