4.1. Syntax (Syntax)
4.1 Syntax (Syntax)
Ein CAA-RR enthält eine einzelne Property aus einem Tag-Wert-Paar. Ein FQDN DARF mehrere zugeordnete CAA-RRs haben, und ein gegebener Property Tag DARF über diese RR hinweg mehrfach angegeben werden.
Der RDATA-Abschnitt eines CAA-RR enthält eine Property. Eine Property besteht aus Folgendem:
+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 |
+----------------|----------------+.....+----------------+
Dabei ist n die im Feld Tag Length angegebene Länge und m die Anzahl verbleibender Oktette im Value-Feld. Es gilt (m = d - n - 2), wobei d die Länge des RDATA-Abschnitts ist.
Die Felder sind wie folgt definiert:
Flags: Ein Oktett mit folgendem Feld:
- Bit 0, Issuer Critical Flag: Ist der Wert "1", ist die Property kritisch. Eine CA DARF keine Zertifikate für einen FQDN ausstellen, wenn das Relevant RRset für diesen FQDN eine kritische CAA-Property für einen unbekannten oder nicht unterstützten Property Tag enthält.
Gemäß [RFC1035] ist Bit 0 das höchstwertige Bit und Bit 7 das niedrigstwertige. Der Wert 1 bedeutet also Bit 7 gesetzt, der Wert 128 Bit 0 gesetzt.
Alle anderen Bitpositionen sind für die zukünftige Nutzung reserviert.
Für Kompatibilität mit künftigen CAA-Erweiterungen MÜSSEN DNS-Einträge, die dieser CAA-Version entsprechen, alle reservierten Flag-Bits auf "0" setzen. Anwendungen, die CAA-Einträge interpretieren, MÜSSEN den Wert aller reservierten Flag-Bits ignorieren.
Tag Length: Ein Oktett mit einer vorzeichenlosen Ganzzahl für die Tag-Länge in Oktetten. Die Tag-Länge MUSS mindestens 1 sein.
Tag: Der Property-Identifikator, eine Folge von ASCII-Zeichen.
Tags DÜRFEN ASCII "a"–"z", "A"–"Z" und Ziffern 0–9 enthalten. Tags DÜRFEN keine anderen Zeichen enthalten. Der Abgleich ist nicht case-sensitiv.
Für die IANA-Registrierung eingereichte Tags DÜRFEN außer (kleinen) ASCII "a"–"z" und Ziffern 0–9 keine Zeichen enthalten.
Value: Eine Folge von Oktetten als Property Value. Property Values sind binär kodiert und KÖNNEN Unterformate nutzen.
Die Länge von Value ist implizit der Rest des umschließenden RDATA-Abschnitts.
4.1.1 Kanonisches Darstellungsformat
Das kanonische Darstellungsformat des CAA-Eintrags ist:
CAA <flags> <tag> <value>
Dabei:
Flags: Vorzeichenlose Ganzzahl zwischen 0 und 255.
Tag: Nichtleere Folge aus Kleinbuchstaben und Ziffern in ASCII.
Value: Das Value-Feld als (1) zusammenhängende Zeichen ohne innere Leerzeichen oder (2) als quoted string. Siehe <character-string> in [RFC1035], Abschnitt 5.1; Value enthält kein Längen-Oktett und ist nicht auf 255 Zeichen begrenzt.