Aller au contenu principal

4.1. Syntax (Syntaxe)

4.1 Syntax (Syntaxe)

Un RR CAA contient une seule Property constituée d'une paire tag-valeur. Un FQDN PEUT avoir plusieurs RR CAA associés, et un Property Tag donné PEUT être spécifié plus d'une fois parmi ces RR.

La section RDATA d'un RR CAA contient une Property. Une Property se compose de ce qui suit :

+0-1-2-3-4-5-6-7-|0-1-2-3-4-5-6-7-|
| Flags | Tag Length = n |
+----------------|----------------+...+---------------+
| Tag char 0 | Tag char 1 |...| Tag char n-1 |
+----------------|----------------+...+---------------+
+----------------|----------------+.....+----------------+
| Value byte 0 | Value byte 1 |.....| Value byte m-1 |
+----------------|----------------+.....+----------------+

où n est la longueur indiquée dans le champ Tag Length et m le nombre d'octets restants dans le champ Value. Ils sont liés par (m = d - n - 2) où d est la longueur de la section RDATA.

Les champs sont définis comme suit :

Flags : Un octet contenant le champ suivant :

  • Bit 0, Issuer Critical Flag : Si la valeur est "1", la Property est critique. Une CA NE DOIT PAS délivrer de certificats pour un FQDN si le Relevant RRset pour ce FQDN contient une Property CAA critique pour un Property Tag inconnu ou non pris en charge.

Selon les conventions de [RFC1035], le bit 0 est le bit de poids fort et le bit 7 le bit de poids faible. Ainsi, la valeur Flags 1 signifie que le bit 7 est à 1, tandis qu'une valeur 128 signifie que le bit 0 est à 1.

Toutes les autres positions de bits sont réservées pour une utilisation future.

Pour assurer la compatibilité avec les extensions futures de CAA, les enregistrements DNS conformes à cette version de la spécification CAA DOIVENT mettre à zéro ("0") tous les bits de drapeau réservés. Les applications interprétant les enregistrements CAA DOIVENT ignorer la valeur de tous les bits de drapeau réservés.

Tag Length : Un octet contenant un entier non signé spécifiant la longueur du tag en octets. La longueur du tag DOIT être d'au moins 1.

Tag : L'identifiant de la Property, une séquence de caractères ASCII.

Les tags PEUVENT contenir les caractères ASCII "a" à "z", "A" à "Z" et les chiffres 0 à 9. Les tags NE DOIVENT PAS contenir d'autres caractères. La correspondance des tags est insensible à la casse.

Les tags soumis à l'enregistrement auprès de l'IANA NE DOIVENT PAS contenir d'autres caractères que les caractères ASCII minuscules "a" à "z" et les chiffres 0 à 9.

Value : Une séquence d'octets représentant la Property Value. Les Property Values sont encodées en valeurs binaires et PEUVENT employer des sous-formats.

La longueur du champ Value est implicitement le reste de la section RDATA englobante.

4.1.1 Format de présentation canonique

Le format de présentation canonique de l'enregistrement CAA est :

CAA <flags> <tag> <value>

où :

Flags : Un entier non signé entre 0 et 255.

Tag : Une séquence non vide de lettres et chiffres ASCII en minuscules.

Value : Le champ Value, exprimé soit (1) comme un ensemble continu de caractères sans espaces intérieurs, soit (2) comme une chaîne entre guillemets. Voir le format <character-string> dans [RFC1035], section 5.1, mais notez que le champ Value ne contient pas d'octet de longueur et n'est pas limité à 255 caractères.