RFC 4514 - Lightweight Directory Access Protocol (LDAP): Zeichenkettendarstellung von Distinguished Names (DN)
- Status: Proposed Standard
- Veröffentlicht: June 2006
- Stream: IETF
- Ersetzt: RFC2253
- Errata: Keine Errata
Zusammenfassung
Das X.500-Verzeichnis verwendet Distinguished Names (DNs) als Primärschlüssel für Einträge im Verzeichnis. Dieses Dokument definiert die im Lightweight Directory Access Protocol (LDAP) zur Übertragung von Distinguished Names verwendete Zeichenkettendarstellung. Die Zeichenkettendarstellung ist so konzipiert, dass sie eine klare Darstellung häufig verwendeter Distinguished Names bietet und gleichzeitig jeden Distinguished Name darstellen kann.
1. Hintergrund und beabsichtigte Verwendung
In X.500-basierten Verzeichnissystemen [X.500], einschließlich derer, auf die über das Lightweight Directory Access Protocol (LDAP) [RFC4510] zugegriffen wird, werden Distinguished Names (DNs) verwendet, um eindeutig auf Verzeichniseinträge zu verweisen [X.501][RFC4512].
Die Struktur eines DN [X.501] wird in Form von ASN.1 [X.680] beschrieben. In LDAP werden DNs in der in diesem Dokument beschriebenen Zeichenkettenform dargestellt.
Dieses Dokument definiert die Zeichenkettendarstellung von Distinguished Names, die in LDAP [RFC4511][RFC4517] verwendet werden. Abschnitt 2 beschreibt detailliert den EMPFOHLENEN Algorithmus zur Konvertierung eines DN von seiner ASN.1-strukturierten Darstellung in eine Zeichenkette. Abschnitt 3 beschreibt detailliert, wie ein DN von einer Zeichenkette in eine ASN.1-strukturierte Darstellung konvertiert wird.
2. Konvertierung von DistinguishedName in eine Zeichenkette
Die Schritte zur Konvertierung von ASN.1 RDNSequence in eine Zeichenkette sind wie folgt:
- Konvertieren Sie jedes RDN in der Reihenfolge vom letzten RDN zum ersten RDN.
- Trennen Sie RDNs durch ein Komma (
,, U+002C).
Konvertierung jedes RDN:
- Wenn das RDN mehrwertig ist (d. h. mehrere AttributeTypeAndValue enthält), trennen Sie jedes AttributeTypeAndValue durch ein Pluszeichen (
+, U+002B). - Konvertieren Sie jedes AttributeTypeAndValue in eine Zeichenkette:
- Konvertieren Sie zuerst den AttributeType.
- Gefolgt von einem Gleichheitszeichen (
=, U+003D). - Konvertieren Sie dann den AttributeValue.
2.3 Konvertierung des AttributeType
Wenn der AttributeType in der Liste der bekannten Typen enthalten ist, die LDAP erkennen kann (wie cn, l, st, o, ou, c, street, dc, uid), verwenden Sie dessen Kurznamen-Zeichenkette. Verwenden Sie andernfalls die OID-Zeichenkette in gepunkteter Dezimalschreibweise (z. B. 1.3.6.1.4.1.1466.0.1).
2.4 Konvertierung des AttributeValue
Wenn der AttributeValue im Zeichenkettenformat vorliegt, verwenden Sie ihn direkt, aber Sonderzeichen müssen maskiert werden.
- Zu maskierende Zeichen: führendes Leerzeichen, abschließendes Leerzeichen,
#(wenn am Anfang),,,+,",\,<,>,;. - Die Maskierungsmethode besteht darin, dem Zeichen einen Backslash
\voranzustellen. - Andere nicht druckbare Zeichen können die hexadezimale Maskierung
\XXverwenden.
3. Parsen einer Zeichenkette in DistinguishedName
Dieser Abschnitt definiert die Syntax der DN-Zeichenkettendarstellung.
distinguishedName = [ relativeDistinguishedName *( COMMA relativeDistinguishedName ) ]
relativeDistinguishedName = attributeTypeAndValue *( PLUS attributeTypeAndValue )
attributeTypeAndValue = attributeType EQUALS attributeValue
attributeType = descr / numericoid
attributeValue = string / hexstring
string = * ( lUTF1 / utf2 / utf3 / utf4 )
COMMA=,PLUS=+EQUALS==
4. Beispiele
UID=jsmith,DC=example,DC=netOU=Sales+CN=J. Smith,O=Widget Inc.,C=USCN=L. Eagle,O=Sue\, Grabbit and Runn,C=GB(Beachten Sie die Maskierung des Kommas)CN=Before\0DAfter,O=Test,C=GB(Enthält die Maskierung des Wagenrücklaufs)1.3.6.1.4.1.1466.0=36313130,O=Test,C=GB(Verwendung von OID und hexadezimaler Zeichenkette des BER-codierten Werts)
5. Sicherheitsüberlegungen
DN-Zeichenketten können nicht anzeigbare Zeichen oder verwirrende Zeichen (wie Homographen) enthalten und sollten bei der Anzeige für Benutzer mit Vorsicht behandelt werden, um Spoofing-Angriffe zu verhindern.
Hinweis: Diese Übersetzung dient nur als Referenz. Bitte konsultieren Sie das Original-RFC 4514 für offizielle Details.