Zum Hauptinhalt springen

3.3. Syntaxdefinitionen (A-J)

3.3.1. Attributtypenbeschreibung

Ein Wert der Attribute Type Description (Attributtypenbeschreibung) Syntax ist die Definition eines Attributtyps. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die Regel <AttributeTypeDescription> in [RFC4512] definiert.

Zum Beispiel ist die folgende Definition des createTimestamp-Attributtyps aus [RFC4512] auch ein Wert der Attribute Type Description Syntax. (Hinweis: Zeilenumbrüche wurden zur besseren Lesbarkeit hinzugefügt; sie sind kein Teil des Wertes bei der Übertragung im Protokoll.)

( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

Die LDAP-Definition für die Attribute Type Description Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )

Diese Syntax entspricht dem AttributeTypeDescription ASN.1-Typ aus [X.501].

3.3.2. Bitfolge

Ein Wert der Bit String (Bitfolge) Syntax ist eine Folge von Binärziffern. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

BitString    = SQUOTE *binary-digit SQUOTE "B"
binary-digit = "0" / "1"

Die Regel <SQUOTE> ist in [RFC4512] definiert.

Beispiel: '0101111101'B

Die LDAP-Definition für die Bit String Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )

Diese Syntax entspricht dem BIT STRING ASN.1-Typ aus [ASN.1].

3.3.3. Boolesch

Ein Wert der Boolean (Boolesch) Syntax ist einer der booleschen Werte, wahr oder falsch. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

Boolean = "TRUE" / "FALSE"

Die LDAP-Definition für die Boolean Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )

Diese Syntax entspricht dem BOOLEAN ASN.1-Typ aus [ASN.1].

3.3.4. Länderzeichenfolge

Ein Wert der Country String (Länderzeichenfolge) Syntax ist einer der aus zwei Zeichen bestehenden Codes von ISO 3166 [ISO3166] zur Darstellung eines Landes. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

CountryString  = 2(PrintableCharacter)

Die Regel <PrintableCharacter> ist in Abschnitt 3.2 definiert.

Beispiele:

US
AU

Die LDAP-Definition für die Country String Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )

Diese Syntax entspricht dem folgenden ASN.1-Typ aus [X.520]:

PrintableString (SIZE (2)) -- ISO 3166 codes only

3.3.5. Zustellungsmethode

Ein Wert der Delivery Method (Zustellungsmethode) Syntax ist eine Folge von Elementen, die in der Reihenfolge ihrer Präferenz den/die Dienst(e) angeben, über die eine Entität bereit und/oder fähig ist, Nachrichten zu empfangen. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

DeliveryMethod = pdm *( WSP DOLLAR WSP pdm )

pdm = "any" / "mhs" / "physical" / "telex" / "teletex" /
"g3fax" / "g4fax" / "ia5" / "videotex" / "telephone"

Die Regeln <WSP> und <DOLLAR> sind in [RFC4512] definiert.

Beispiel: telephone $ videotex

Die LDAP-Definition für die Delivery Method Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' )

Diese Syntax entspricht dem folgenden ASN.1-Typ aus [X.520]:

SEQUENCE OF INTEGER {
any-delivery-method (0),
mhs-delivery (1),
physical-delivery (2),
telex-delivery (3),
teletex-delivery (4),
g3-facsimile-delivery (5),
g4-facsimile-delivery (6),
ia5-terminal-delivery (7),
videotex-delivery (8),
telephone-delivery (9) }

3.3.6. Verzeichniszeichenfolge

Ein Wert der Directory String (Verzeichniszeichenfolge) Syntax ist eine Zeichenfolge von einem oder mehreren beliebigen Zeichen aus dem Universal Character Set (UCS) [UCS]. Eine Zeichenfolge der Länge Null ist nicht zulässig. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist die UTF-8-Kodierung [RFC3629] der Zeichenfolge. Solche Kodierungen entsprechen der folgenden ABNF:

DirectoryString = 1*UTF8

Die Regel <UTF8> ist in [RFC4512] definiert.

Beispiel: This is a value of Directory String containing #!%#@.

Server und Clients MÜSSEN darauf vorbereitet sein, beliebige UCS-Codepunkte zu empfangen, einschließlich Codepunkten außerhalb des Bereichs von druckbarem ASCII und Codepunkten, die derzeit keinem Zeichen zugeordnet sind.

Attributtypdefinitionen, die die Directory String Syntax verwenden, sollten das Format von Directory String Werten nicht einschränken, z. B. indem sie verlangen, dass die Zeichenfolge bestimmten durch ABNF beschriebenen Mustern entspricht. In solchen Fällen sollte eine neue Syntax definiert werden.

Die LDAP-Definition für die Directory String Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )

Diese Syntax entspricht dem DirectoryString parametrisierten ASN.1-Typ aus [X.520].

Der DirectoryString ASN.1-Typ erlaubt eine Wahl zwischen den TeletexString, PrintableString oder UniversalString ASN.1-Typen aus [ASN.1]. Beachten Sie jedoch, dass die gewählte Alternative in der LDAP-spezifischen Kodierung eines Directory String Wertes nicht angegeben wird.

Implementierungen, die Directory String Werte von der LDAP-spezifischen Kodierung in die von X.500 verwendete BER-Kodierung konvertieren, müssen eine Alternative wählen, die die jeweiligen Zeichen in der Zeichenfolge zulässt, und müssen die Zeichen von der UTF-8-Kodierung in die Zeichenkodierung der gewählten Alternative konvertieren. Beim Konvertieren von Directory String Werten von der BER-Kodierung in die LDAP-spezifische Kodierung müssen die Zeichen von der Zeichenkodierung der gewählten Alternative in die UTF-8-Kodierung konvertiert werden. Diese Konvertierungen SOLLTEN in einer Weise durchgeführt werden, die mit dem Transcode-Schritt der String-Vorbereitungsalgorithmen [RFC4518] für LDAP übereinstimmt.

3.3.7. DIT-Inhaltsregelbeschreibung

Ein Wert der DIT Content Rule Description (DIT-Inhaltsregelbeschreibung) Syntax ist die Definition einer DIT (Directory Information Tree) Inhaltsregel. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die Regel <DITContentRuleDescription> in [RFC4512] definiert.

Beispiel:

( 2.5.6.4 DESC 'content rule for organization'
NOT ( x121Address $ telexNumber ) )

Hinweis: Ein Zeilenumbruch wurde zur besseren Lesbarkeit hinzugefügt; er ist nicht Teil des Wertes.

Die LDAP-Definition für die DIT Content Rule Description Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.16
DESC 'DIT Content Rule Description' )

Diese Syntax entspricht dem DITContentRuleDescription ASN.1-Typ aus [X.501].

3.3.8. DIT-Strukturregelbeschreibung

Ein Wert der DIT Structure Rule Description (DIT-Strukturregelbeschreibung) Syntax ist die Definition einer DIT-Strukturregel. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die Regel <DITStructureRuleDescription> in [RFC4512] definiert.

Beispiel: ( 2 DESC 'organization structure rule' FORM 2.5.15.3 )

Die LDAP-Definition für die DIT Structure Rule Description Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.17
DESC 'DIT Structure Rule Description' )

Diese Syntax entspricht dem DITStructureRuleDescription ASN.1-Typ aus [X.501].

3.3.9. DN

Ein Wert der DN-Syntax ist der (vorgebliche) Distinguished Name (DN) eines Eintrags [RFC4512]. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die Regel <distinguishedName> aus der String-Darstellung von Distinguished Names [RFC4514] definiert.

Beispiele (aus [RFC4514]):

UID=jsmith,DC=example,DC=net
OU=Sales+CN=J. Smith,DC=example,DC=net
CN=John Smith\, III,DC=example,DC=net
CN=Before\0dAfter,DC=example,DC=net
1.3.6.1.4.1.1466.0=#04024869,DC=example,DC=com
CN=Lu\C4\8Di\C4\87

Die LDAP-Definition für die DN Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )

Die DN Syntax entspricht dem DistinguishedName ASN.1-Typ aus [X.501]. Beachten Sie, dass ein BER-kodierter Distinguished Name (wie von X.500 verwendet), der in die LDAP-spezifische Kodierung umkodiert wurde, nicht unbedingt reversibel zur ursprünglichen BER-Kodierung ist, da der gewählte String-Typ in allen DirectoryString-Komponenten des Distinguished Name in der LDAP-spezifischen Kodierung des Distinguished Name nicht angegeben ist (siehe Abschnitt 3.3.6).

3.3.10. Erweiterter Leitfaden

Ein Wert der Enhanced Guide (Erweiterter Leitfaden) Syntax schlägt Kriterien vor, die aus Kombinationen von Attributtypen und Filteroperatoren bestehen, um Filter für die Suche nach Einträgen bestimmter Objektklassen zu erstellen. Die Enhanced Guide Syntax verbessert die Guide Syntax, indem sie erlaubt, die empfohlene Tiefe der Suche anzugeben.

Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

EnhancedGuide = object-class SHARP WSP criteria WSP
SHARP WSP subset
object-class = WSP oid WSP
subset = "baseobject" / "oneLevel" / "wholeSubtree"

criteria = and-term *( BAR and-term )
and-term = term *( AMPERSAND term )
term = EXCLAIM term /
attributetype DOLLAR match-type /
LPAREN criteria RPAREN /
true /
false
match-type = "EQ" / "SUBSTR" / "GE" / "LE" / "APPROX"
true = "?true"
false = "?false"
BAR = %x7C ; vertikaler Strich ("|")
AMPERSAND = %x26 ; kaufmännisches Und ("&")
EXCLAIM = %x21 ; Ausrufezeichen ("!")

Die Regeln <SHARP>, <WSP>, <oid>, <LPAREN>, <RPAREN>, <attributetype> und <DOLLAR> sind in [RFC4512] definiert.

Die LDAP-Definition für die Enhanced Guide Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' )

Beispiel: person#(sn$EQ)#oneLevel

Die Enhanced Guide Syntax entspricht dem EnhancedGuide ASN.1-Typ aus [X.520]. Der EnhancedGuide-Typ verweist auf den Criteria ASN.1-Typ, ebenfalls aus [X.520]. Die Regel <true> oben stellt einen leeren "und"-Ausdruck in einem Wert des Criteria-Typs dar. Die Regel <false> oben stellt einen leeren "oder"-Ausdruck in einem Wert des Criteria-Typs dar.

3.3.11. Fax-Telefonnummer

Ein Wert der Facsimile Telephone Number (Fax-Telefonnummer) Syntax ist eine Teilnehmernummer eines Faxgeräts im öffentlichen Telefonnetz. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

fax-number       = telephone-number *( DOLLAR fax-parameter )
telephone-number = PrintableString
fax-parameter = "twoDimensional" /
"fineResolution" /
"unlimitedLength" /
"b4Length" /
"a3Width" /
"b4Width" /
"uncompressed"

Die <telephone-number> ist eine Zeichenfolge druckbarer Zeichen, die dem international vereinbarten Format zur Darstellung internationaler Telefonnummern [E.123] entspricht. Die Regel <PrintableString> ist in Abschnitt 3.2 definiert. Die Regel <DOLLAR> ist in [RFC4512] definiert.

Die LDAP-Definition für die Facsimile Telephone Number Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number')

Die Facsimile Telephone Number Syntax entspricht dem FacsimileTelephoneNumber ASN.1-Typ aus [X.520].

3.3.12. Fax

Ein Wert der Fax Syntax ist ein Bild, das unter Verwendung des Gruppe 3 Faxverfahrens [FAX] erzeugt wurde, um ein Objekt, wie z. B. ein Memo, zu duplizieren. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist die Folge von Oktetten für ein Gruppe 3 Faxbild wie in [FAX] definiert.

Die LDAP-Definition für die Fax Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )

Der der Fax Syntax entsprechende ASN.1-Typ ist wie folgt definiert, unter Annahme von EXPLICIT TAGS:

Fax ::= CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}

Der G3FacsimileBodyPart ASN.1-Typ ist in [X.420] definiert.

3.3.13. Verallgemeinerte Zeit

Ein Wert der Generalized Time (Verallgemeinerte Zeit) Syntax ist eine Zeichenfolge, die ein Datum und eine Uhrzeit darstellt. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist eine Einschränkung des in [ISO8601] definierten Formats und wird durch die folgende ABNF beschrieben:

GeneralizedTime = century year month day hour
[ minute [ second / leap-second ] ]
[ fraction ]
g-time-zone

century = 2(%x30-39) ; "00" bis "99"
year = 2(%x30-39) ; "00" bis "99"
month = ( %x30 %x31-39 ) ; "01" (Januar) bis "09"
/ ( %x31 %x30-32 ) ; "10" bis "12"
day = ( %x30 %x31-39 ) ; "01" bis "09"
/ ( %x31-32 %x30-39 ) ; "10" bis "29"
/ ( %x33 %x30-31 ) ; "30" bis "31"
hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" bis "23"
minute = %x30-35 %x30-39 ; "00" bis "59"

second = ( %x30-35 %x30-39 ) ; "00" bis "59"
leap-second = ( %x36 %x30 ) ; "60"

fraction = ( DOT / COMMA ) 1*(%x30-39)
g-time-zone = %x5A ; "Z"
/ g-differential
g-differential = ( MINUS / PLUS ) hour [ minute ]
MINUS = %x2D ; Minuszeichen ("-")

Die Regeln <DOT>, <COMMA> und <PLUS> sind in [RFC4512] definiert.

Die obige ABNF erlaubt Zeichenfolgen, die keine gültigen Daten (im gregorianischen Kalender) und/oder gültigen Zeiten (z. B. 31. Februar 1994) darstellen. Solche Zeichenfolgen SOLLTEN für diese Syntax als ungültig betrachtet werden.

Der Zeitwert stellt die koordinierte Weltzeit (äquivalent zu Greenwich Mean Time) dar, wenn die "Z"-Form von <g-time-zone> verwendet wird; andernfalls stellt der Wert eine Ortszeit in der durch <g-differential> angegebenen Zeitzone dar. Im letzteren Fall kann die koordinierte Weltzeit durch Subtraktion der Differenz von der Ortszeit berechnet werden. Die "Z"-Form von <g-time-zone> SOLLTE bevorzugt vor <g-differential> verwendet werden.

Wenn <minute> weggelassen wird, stellt <fraction> einen Bruchteil einer Stunde dar; andernfalls, wenn <second> und <leap-second> weggelassen werden, stellt <fraction> einen Bruchteil einer Minute dar; andernfalls stellt <fraction> einen Bruchteil einer Sekunde dar.

Beispiele:

199412161032Z
199412160532-0500

Beide Beispielwerte stellen die gleiche koordinierte Weltzeit dar: 10:32 Uhr, 16. Dezember 1994.

Die LDAP-Definition für die Generalized Time Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )

Diese Syntax entspricht dem GeneralizedTime ASN.1-Typ aus [ASN.1], mit der Einschränkung, dass Ortszeit ohne Differenz NICHT verwendet werden DARF.

3.3.14. Leitfaden

Ein Wert der Guide (Leitfaden) Syntax schlägt Kriterien vor, die aus Kombinationen von Attributtypen und Filteroperatoren bestehen, um Filter für die Suche nach Einträgen bestimmter Objektklassen zu erstellen. Die Guide Syntax ist veraltet und sollte nicht zur Definition neuer Attributtypen verwendet werden.

Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist durch die folgende ABNF definiert:

Guide = [ object-class SHARP ] criteria

Die Regeln <object-class> und <criteria> sind in Abschnitt 3.3.10 definiert. Die Regel <SHARP> ist in [RFC4512] definiert.

Die LDAP-Definition für die Guide Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' )

Die Guide Syntax entspricht dem Guide ASN.1-Typ aus [X.520].

3.3.15. IA5-Zeichenfolge

Ein Wert der IA5 String (IA5-Zeichenfolge) Syntax ist eine Zeichenfolge von null, einem oder mehreren Zeichen aus dem International Alphabet 5 (IA5) [T.50], der internationalen Version des ASCII-Zeichensatzes. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist die unkonvertierte Zeichenfolge, die der Regel <IA5String> in Abschnitt 3.2 entspricht.

Die LDAP-Definition für die IA5 String Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )

Diese Syntax entspricht dem IA5String ASN.1-Typ aus [ASN.1].

3.3.16. Ganzzahl

Ein Wert der Integer (Ganzzahl) Syntax ist eine ganze Zahl von unbegrenzter Größe. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist die optional vorzeichenbehaftete dezimale Ziffernzeichenfolgendarstellung der Zahl (zum Beispiel wird die Zahl 1321 durch die Zeichenfolge "1321" dargestellt). Die Kodierung ist durch die folgende ABNF definiert:

Integer = ( HYPHEN LDIGIT *DIGIT ) / number

Die Regeln <HYPHEN>, <LDIGIT>, <DIGIT> und <number> sind in [RFC4512] definiert.

Die LDAP-Definition für die Integer Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )

Diese Syntax entspricht dem INTEGER ASN.1-Typ aus [ASN.1].

3.3.17. JPEG

Ein Wert der JPEG Syntax ist ein Bild im JPEG File Interchange Format (JFIF), wie in [JPEG] beschrieben. Die LDAP-spezifische Kodierung eines Wertes dieser Syntax ist die Folge von Oktetten der JFIF-Kodierung des Bildes.

Die LDAP-Definition für die JPEG Syntax lautet:

( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )

Die JPEG Syntax entspricht dem folgenden ASN.1-Typ:

JPEG ::= OCTET STRING (CONSTRAINED BY
{ -- contents octets are an image in the --
-- JPEG File Interchange Format -- })