3. Relevant Resource Record Set (Ensemble d'enregistrements pertinent)
3. Relevant Resource Record Set (Ensemble d'enregistrements pertinent)
Avant de délivrer un certificat, une CA conforme DOIT vérifier la publication d'un Relevant RRset. Si un tel RRset existe, une CA NE DOIT PAS délivrer de certificat sauf si elle détermine que soit (1) la demande de certificat est cohérente avec le RRset CAA applicable, soit (2) une exception spécifiée dans la CP ou CPS applicable s'applique. Si le Relevant RRset pour un FQDN ou un nom de domaine générique ne contient aucun Property Tag restreignant la délivrance (par exemple uniquement des Property Tags iodef ou uniquement des Property Tags non reconnus par la CA), CAA ne restreint pas la délivrance.
Une demande de certificat PEUT spécifier plusieurs FQDN et PEUT spécifier des noms de domaine génériques. Les émetteurs DOIVENT vérifier l'autorisation pour tous les FQDN et noms génériques spécifiés dans la demande.
La recherche d'un RRset CAA remonte l'arbre des noms DNS depuis l'étiquette spécifiée jusqu'à, mais sans inclure, la racine DNS ".", jusqu'à trouver un RRset CAA.
Étant donné une demande pour un FQDN X spécifique ou un nom générique *.X, le Relevant RRset RelevantCAASet(X) est déterminé comme suit (pseudo-code) :
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"