4.2. Definitionen der Übereinstimmungsregeln (A-G)
In Behauptungswerten und Attributwerten bezeichnete Zeichenfolgen werden bei der Auswertung der folgenden Übereinstimmungsregeln gemäß den Algorithmen zur Zeichenfolgenvorbereitung (String Preparation Algorithms [RFC4518]) für LDAP vorbereitet:
numericStringMatch,
numericStringSubstringsMatch,
caseExactMatch,
caseExactOrderingMatch,
caseExactSubstringsMatch,
caseExactIA5Match,
caseIgnoreIA5Match,
caseIgnoreIA5SubstringsMatch,
caseIgnoreListMatch,
caseIgnoreListSubstringsMatch,
caseIgnoreMatch,
caseIgnoreOrderingMatch,
caseIgnoreSubstringsMatch,
directoryStringFirstComponentMatch,
telephoneNumberMatch,
telephoneNumberSubstringsMatch and
wordMatch.
Die Schritte Transcode, Normalize, Prohibit und Check bidi sind für jede der Übereinstimmungsregeln identisch. Die Schritte Map und Insignificant Character Handling hängen jedoch von der spezifischen Regel ab, wie in der Beschreibung dieser Übereinstimmungsregeln in den folgenden Abschnitten detailliert beschrieben.
4.2.1. bitStringMatch
Die bitStringMatch-Regel vergleicht einen Behauptungswert der Bit-String-Syntax mit einem Attributwert einer Syntax (z. B. der Bit-String-Syntax), deren entsprechender ASN.1-Typ BIT STRING ist.
Wenn der entsprechende ASN.1-Typ der Attributsyntax keine benannte Bitliste [ASN.1] hat (was bei der Bit-String-Syntax der Fall ist), dann wertet die Regel genau dann zu WAHR aus, wenn der Attributwert die gleiche Anzahl von Bits wie der Behauptungswert hat und die Bits bitweise übereinstimmen.
Wenn der entsprechende ASN.1-Typ eine benannte Bitliste hat, dann funktioniert bitStringMatch wie oben, außer dass abschließende Null-Bits in den Attribut- und Behauptungswerten als nicht vorhanden behandelt werden.
Die LDAP-Definition für die bitStringMatch-Regel lautet:
( 2.5.13.16 NAME 'bitStringMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
Die bitStringMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.2. booleanMatch
Die booleanMatch-Regel vergleicht einen Behauptungswert der Booleschen Syntax mit einem Attributwert einer Syntax (z. B. der Booleschen Syntax), deren entsprechender ASN.1-Typ BOOLEAN ist.
Die Regel wertet genau dann zu WAHR aus, wenn sowohl der Attributwert als auch der Behauptungswert WAHR sind oder beide FALSCH sind.
Die LDAP-Definition für die booleanMatch-Regel lautet:
( 2.5.13.13 NAME 'booleanMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
Die booleanMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.3. caseExactIA5Match
Die caseExactIA5Match-Regel vergleicht einen Behauptungswert der IA5-String-Syntax mit einem Attributwert einer Syntax (z. B. der IA5-String-Syntax), deren entsprechender ASN.1-Typ IA5String ist.
Die Regel wertet genau dann zu WAHR aus, wenn die vorbereitete Attributwert-Zeichenfolge und die vorbereitete Behauptungswert-Zeichenfolge die gleiche Anzahl von Zeichen haben und entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt nicht in der Groß-/Kleinschreibung angepasst (case folded), und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen (Insignificant Space Handling) angewendet.
Die LDAP-Definition für die caseExactIA5Match-Regel lautet:
( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
Die caseExactIA5Match-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.4. caseExactMatch
Die caseExactMatch-Regel vergleicht einen Behauptungswert der Directory-String-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer der alternativen String-Typen von DirectoryString ist, wie z. B. PrintableString (andere Alternativen entsprechen keiner in diesem Dokument definierten Syntax).
Die Regel wertet genau dann zu WAHR aus, wenn die vorbereitete Attributwert-Zeichenfolge und die vorbereitete Behauptungswert-Zeichenfolge die gleiche Anzahl von Zeichen haben und entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt nicht in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseExactMatch-Regel lautet:
( 2.5.13.5 NAME 'caseExactMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Die caseExactMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.5. caseExactOrderingMatch
Die caseExactOrderingMatch-Regel vergleicht einen Behauptungswert der Directory-String-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer seiner alternativen String-Typen ist.
Die Regel wertet genau dann zu WAHR aus, wenn in der Codepunkt-Kollationsreihenfolge die vorbereitete Attributwert-Zeichenfolge früher erscheint als die vorbereitete Behauptungswert-Zeichenfolge; d. h. der Attributwert ist "kleiner als" der Behauptungswert.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt nicht in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseExactOrderingMatch-Regel lautet:
( 2.5.13.6 NAME 'caseExactOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Die caseExactOrderingMatch-Regel ist eine Ordnungs-Übereinstimmungsregel.
4.2.6. caseExactSubstringsMatch
Die caseExactSubstringsMatch-Regel vergleicht einen Behauptungswert der Substring-Assertion-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer seiner alternativen String-Typen ist.
Die Regel wertet genau dann zu WAHR aus, wenn (1) die vorbereiteten Teilzeichenfolgen des Behauptungswerts mit disjunkten Teilen der vorbereiteten Attributwert-Zeichenfolge in der Reihenfolge der Teilzeichenfolgen im Behauptungswert übereinstimmen, (2) eine <initial>-Teilzeichenfolge, falls vorhanden, mit dem Anfang der vorbereiteten Attributwert-Zeichenfolge übereinstimmt und (3) eine <final>-Teilzeichenfolge, falls vorhanden, mit dem Ende der vorbereiteten Attributwert-Zeichenfolge übereinstimmt. Eine vorbereitete Teilzeichenfolge stimmt mit einem Teil der vorbereiteten Attributwert-Zeichenfolge überein, wenn entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung der Teilzeichenfolgen des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt nicht in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseExactSubstringsMatch-Regel lautet:
( 2.5.13.7 NAME 'caseExactSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
Die caseExactSubstringsMatch-Regel ist eine Teilzeichenfolgen-Übereinstimmungsregel.
4.2.7. caseIgnoreIA5Match
Die caseIgnoreIA5Match-Regel vergleicht einen Behauptungswert der IA5-String-Syntax mit einem Attributwert einer Syntax (z. B. der IA5-String-Syntax), deren entsprechender ASN.1-Typ IA5String ist.
Die Regel wertet genau dann zu WAHR aus, wenn die vorbereitete Attributwert-Zeichenfolge und die vorbereitete Behauptungswert-Zeichenfolge die gleiche Anzahl von Zeichen haben und entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt in der Groß-/Kleinschreibung angepasst (case folded), und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseIgnoreIA5Match-Regel lautet:
( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
Die caseIgnoreIA5Match-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.8. caseIgnoreIA5SubstringsMatch
Die caseIgnoreIA5SubstringsMatch-Regel vergleicht einen Behauptungswert der Substring-Assertion-Syntax mit einem Attributwert einer Syntax (z. B. der IA5-String-Syntax), deren entsprechender ASN.1-Typ IA5String ist.
Die Regel wertet genau dann zu WAHR aus, wenn (1) die vorbereiteten Teilzeichenfolgen des Behauptungswerts mit disjunkten Teilen der vorbereiteten Attributwert-Zeichenfolge in der Reihenfolge der Teilzeichenfolgen im Behauptungswert übereinstimmen, (2) eine <initial>-Teilzeichenfolge, falls vorhanden, mit dem Anfang der vorbereiteten Attributwert-Zeichenfolge übereinstimmt und (3) eine <final>-Teilzeichenfolge, falls vorhanden, mit dem Ende der vorbereiteten Attributwert-Zeichenfolge übereinstimmt. Eine vorbereitete Teilzeichenfolge stimmt mit einem Teil der vorbereiteten Attributwert-Zeichenfolge überein, wenn entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung der Teilzeichenfolgen des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
( 1.3.6.1.4.1.1466.109.114.3 NAME 'caseIgnoreIA5SubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
Die caseIgnoreIA5SubstringsMatch-Regel ist eine Teilzeichenfolgen-Übereinstimmungsregel.
4.2.9. caseIgnoreListMatch
Die caseIgnoreListMatch-Regel vergleicht einen Behauptungswert, der eine Sequenz von Zeichenfolgen ist, mit einem Attributwert einer Syntax (z. B. der Postal-Address-Syntax), deren entsprechender ASN.1-Typ eine SEQUENCE OF des DirectoryString ASN.1-Typs ist.
Die Regel wertet genau dann zu WAHR aus, wenn der Attributwert und der Behauptungswert dieselbe Anzahl von Zeichenfolgen haben und entsprechende Zeichenfolgen (nach Position) gemäß der caseIgnoreMatch-Übereinstimmungsregel übereinstimmen.
In [X.520] ist die Behauptungssyntax für diese Übereinstimmungsregel definiert als:
SEQUENCE OF DirectoryString {ub-match}
Das heißt, sie unterscheidet sich vom entsprechenden Typ für die Postal-Address-Syntax. Die Wahl der Postal-Address-Syntax für die Behauptungssyntax von caseIgnoreListMatch in LDAP sollte nicht so angesehen werden, dass die Übereinstimmungsregel nur auf Attribute mit der Postal-Address-Syntax beschränkt ist.
Die LDAP-Definition für die caseIgnoreListMatch-Regel lautet:
( 2.5.13.11 NAME 'caseIgnoreListMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
Die caseIgnoreListMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.10. caseIgnoreListSubstringsMatch
Die caseIgnoreListSubstringsMatch-Regel vergleicht einen Behauptungswert der Substring-Assertion-Syntax mit einem Attributwert einer Syntax (z. B. der Postal-Address-Syntax), deren entsprechender ASN.1-Typ eine SEQUENCE OF des DirectoryString ASN.1-Typs ist.
Die Regel wertet genau dann zu WAHR aus, wenn der Behauptungswert gemäß der caseIgnoreSubstringsMatch-Regel mit der Zeichenfolge übereinstimmt, die durch Verkettung der Zeichenfolgen des Attributwerts gebildet wird, außer dass keine der <initial>, <any> oder <final> Teilzeichenfolgen des Behauptungswerts als übereinstimmend mit einer Teilzeichenfolge der verketteten Zeichenfolge angesehen wird, die mehr als eine der ursprünglichen Zeichenfolgen des Attributwerts überspannt.
Beachten Sie, dass in Bezug auf die LDAP-spezifische Kodierung der Postal-Address-Syntax die verkettete Zeichenfolge das Zeilentrennzeichen <DOLLAR> sowie das Escaping von "" und "$" Zeichen auslässt.
Die LDAP-Definition für die caseIgnoreListSubstringsMatch-Regel lautet:
( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
Die caseIgnoreListSubstringsMatch-Regel ist eine Teilzeichenfolgen-Übereinstimmungsregel.
4.2.11. caseIgnoreMatch
Die caseIgnoreMatch-Regel vergleicht einen Behauptungswert der Directory-String-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer seiner alternativen String-Typen ist.
Die Regel wertet genau dann zu WAHR aus, wenn die vorbereitete Attributwert-Zeichenfolge und die vorbereitete Behauptungswert-Zeichenfolge die gleiche Anzahl von Zeichen haben und entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseIgnoreMatch-Regel lautet:
( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Die caseIgnoreMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.12. caseIgnoreOrderingMatch
Die caseIgnoreOrderingMatch-Regel vergleicht einen Behauptungswert der Directory-String-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer seiner alternativen String-Typen ist.
Die Regel wertet genau dann zu WAHR aus, wenn in der Codepunkt-Kollationsreihenfolge die vorbereitete Attributwert-Zeichenfolge früher erscheint als die vorbereitete Behauptungswert-Zeichenfolge; d. h. der Attributwert ist "kleiner als" der Behauptungswert.
Bei der Vorbereitung des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseIgnoreOrderingMatch-Regel lautet:
( 2.5.13.3 NAME 'caseIgnoreOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Die caseIgnoreOrderingMatch-Regel ist eine Ordnungs-Übereinstimmungsregel.
4.2.13. caseIgnoreSubstringsMatch
Die caseIgnoreSubstringsMatch-Regel vergleicht einen Behauptungswert der Substring-Assertion-Syntax mit einem Attributwert einer Syntax (z. B. der Syntax für Directory String, Printable String, Country String oder Telephone Number), deren entsprechender ASN.1-Typ DirectoryString oder einer seiner alternativen String-Typen ist.
Die Regel wertet genau dann zu WAHR aus, wenn (1) die vorbereiteten Teilzeichenfolgen des Behauptungswerts mit disjunkten Teilen der vorbereiteten Attributwert-Zeichenfolge in der Reihenfolge der Teilzeichenfolgen im Behauptungswert übereinstimmen, (2) eine <initial>-Teilzeichenfolge, falls vorhanden, mit dem Anfang der vorbereiteten Attributwert-Zeichenfolge übereinstimmt und (3) eine <final>-Teilzeichenfolge, falls vorhanden, mit dem Ende der vorbereiteten Attributwert-Zeichenfolge übereinstimmt. Eine vorbereitete Teilzeichenfolge stimmt mit einem Teil der vorbereiteten Attributwert-Zeichenfolge überein, wenn entsprechende Zeichen denselben Codepunkt haben.
Bei der Vorbereitung der Teilzeichenfolgen des Attributwerts und des Behauptungswerts für den Vergleich werden Zeichen im Map-Vorbereitungsschritt in der Groß-/Kleinschreibung angepasst, und im Schritt "Insignificant Character Handling" wird nur die Behandlung irrelevanter Leerzeichen angewendet.
Die LDAP-Definition für die caseIgnoreSubstringsMatch-Regel lautet:
( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
Die caseIgnoreSubstringsMatch-Regel ist eine Teilzeichenfolgen-Übereinstimmungsregel.
4.2.14. directoryStringFirstComponentMatch
Die directoryStringFirstComponentMatch-Regel vergleicht einen Behauptungswert der Directory-String-Syntax mit einem Attributwert einer Syntax, deren entsprechender ASN.1-Typ eine SEQUENCE mit einer obligatorischen ersten Komponente des DirectoryString ASN.1-Typs ist.
Beachten Sie, dass die Behauptungssyntax dieser Übereinstimmungsregel sich von der Attributsyntax von Attributen unterscheidet, für die dies die Gleichheits-Übereinstimmungsregel ist.
Die Regel wertet genau dann zu WAHR aus, wenn der Behauptungswert mit der ersten Komponente des Attributwerts unter Verwendung der Regeln von caseIgnoreMatch übereinstimmt.
Die LDAP-Definition für die directoryStringFirstComponentMatch-Übereinstimmungsregel lautet:
( 2.5.13.31 NAME 'directoryStringFirstComponentMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Die directoryStringFirstComponentMatch-Regel ist eine Gleichheits-Übereinstimmungsregel. Wenn directoryStringFirstComponentMatch verwendet wird, um zwei Attributwerte (einer anwendbaren Syntax) zu vergleichen, muss zuerst ein Behauptungswert aus einem der Attributwerte abgeleitet werden. Ein Behauptungswert kann aus einem Attributwert abgeleitet werden, indem die erste Komponente dieses Attributwerts genommen wird.
4.2.15. distinguishedNameMatch
Die distinguishedNameMatch-Regel vergleicht einen Behauptungswert der DN-Syntax mit einem Attributwert einer Syntax (z. B. der DN-Syntax), deren entsprechender ASN.1-Typ DistinguishedName ist.
Die Regel wertet genau dann zu WAHR aus, wenn der Attributwert und der Behauptungswert die gleiche Anzahl von relativen Distinguished Names haben und entsprechende relative Distinguished Names (nach Position) gleich sind. Ein relativer Distinguished Name (RDN) des Behauptungswerts ist derselbe wie ein RDN des Attributwerts genau dann, wenn sie die gleiche Anzahl von Attributwertbehauptungen haben und jede Attributwertbehauptung (AVA) des ersten RDN dieselbe ist wie die AVA des zweiten RDN mit demselben Attributtyp. Die Reihenfolge der AVAs ist nicht signifikant. Beachten Sie auch, dass ein bestimmter Attributtyp höchstens in einer AVA in einem RDN vorkommen kann. Zwei AVAs mit demselben Attributtyp sind gleich, wenn ihre Werte gemäß der Gleichheits-Übereinstimmungsregel des Attributtyps gleich sind. Wenn einer oder mehrere der AVA-Vergleiche zu "Undefiniert" auswerten und die verbleibenden AVA-Vergleiche WAHR zurückgeben, dann wertet die distinguishedNameMatch-Regel zu "Undefiniert" aus.
Die LDAP-Definition für die distinguishedNameMatch-Regel lautet:
( 2.5.13.1 NAME 'distinguishedNameMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
Die distinguishedNameMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.
4.2.16. generalizedTimeMatch
Die generalizedTimeMatch-Regel vergleicht einen Behauptungswert der Generalized-Time-Syntax mit einem Attributwert einer Syntax (z. B. der Generalized-Time-Syntax), deren entsprechender ASN.1-Typ GeneralizedTime ist.
Die Regel wertet genau dann zu WAHR aus, wenn der Attributwert dieselbe koordinierte Weltzeit wie der Behauptungswert darstellt. Wenn eine Zeit mit fehlenden Minuten oder Sekunden angegeben wird, wird angenommen, dass die Anzahl der Minuten oder Sekunden (jeweils) Null ist.
Die LDAP-Definition für die generalizedTimeMatch-Regel lautet:
( 2.5.13.27 NAME 'generalizedTimeMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
Die generalizedTimeMatch-Regel ist eine Gleichheits-Übereinstimmungsregel.