RFC 4514 - Lightweight Directory Access Protocol (LDAP): Rappresentazione stringa dei Distinguished Names (DN)
- Stato: Proposed Standard
- Pubblicato: June 2006
- Stream: IETF
- Sostituisce: RFC2253
- Errata: Nessun errata
Riassunto
La directory X.500 utilizza i Distinguished Names (DN) come chiavi primarie per le voci nella directory. Questo documento definisce la rappresentazione stringa utilizzata nel Lightweight Directory Access Protocol (LDAP) per trasferire i Distinguished Names. La rappresentazione stringa è progettata per fornire una rappresentazione pulita dei Distinguished Names comunemente usati, pur essendo in grado di rappresentare qualsiasi Distinguished Name.
1. Contesto e uso previsto
Nei sistemi di directory basati su X.500 [X.500], inclusi quelli a cui si accede utilizzando il Lightweight Directory Access Protocol (LDAP) [RFC4510], i Distinguished Names (DN) vengono utilizzati per fare riferimento in modo inequivocabile alle voci della directory [X.501][RFC4512].
La struttura di un DN [X.501] è descritta in termini di ASN.1 [X.680]. In LDAP, i DN sono rappresentati nella forma stringa descritta in questo documento.
Questo documento definisce la rappresentazione stringa dei Distinguished Names utilizzati in LDAP [RFC4511][RFC4517]. La Sezione 2 descrive in dettaglio l'algoritmo RACCOMANDATO per convertire un DN dalla sua rappresentazione strutturata ASN.1 a una stringa. La Sezione 3 descrive in dettaglio come convertire un DN da una stringa a una rappresentazione strutturata ASN.1.
2. Conversione di DistinguishedName in stringa
I passaggi per convertire ASN.1 RDNSequence in stringa sono i seguenti:
- Convertire ogni RDN in ordine dall'ultimo RDN al primo RDN.
- Separare gli RDN con una virgola (
,, U+002C).
Conversione di ogni RDN:
- Se l'RDN è multivalore (ovvero contiene più AttributeTypeAndValue), separare ogni AttributeTypeAndValue con un segno più (
+, U+002B). - Convertire ogni AttributeTypeAndValue in una stringa:
- Convertire prima l'AttributeType.
- Seguito da un segno di uguale (
=, U+003D). - Quindi convertire l'AttributeValue.
2.3 Conversione di AttributeType
Se l'AttributeType è nell'elenco dei tipi noti che LDAP può riconoscere (come cn, l, st, o, ou, c, street, dc, uid), utilizzare la sua stringa di nome breve. Altrimenti, utilizzare la stringa OID in notazione decimale puntata (ad esempio 1.3.6.1.4.1.1466.0.1).
2.4 Conversione di AttributeValue
Se l'AttributeValue è in formato stringa, utilizzarlo direttamente, ma i caratteri speciali devono essere sottoposti a escape.
- Caratteri che necessitano di escape: spazio iniziale, spazio finale,
#(se all'inizio),,,+,",\,<,>,;. - Il metodo di escape consiste nell'aggiungere una barra rovesciata
\prima del carattere. - Altri caratteri non stampabili possono utilizzare l'escape esadecimale
\XX.
3. Analisi di una stringa in DistinguishedName
Questa sezione definisce la sintassi della rappresentazione stringa del DN.
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. Esempi
UID=jsmith,DC=example,DC=netOU=Sales+CN=J. Smith,O=Widget Inc.,C=USCN=L. Eagle,O=Sue\, Grabbit and Runn,C=GB(Nota l'escape della virgola)CN=Before\0DAfter,O=Test,C=GB(Contiene l'escape del ritorno a capo)1.3.6.1.4.1.1466.0=36313130,O=Test,C=GB(Utilizzo dell'OID e della stringa esadecimale del valore codificato BER)
5. Considerazioni sulla sicurezza
Le stringhe DN possono contenere caratteri non visualizzabili o caratteri confusi (come omografi) e devono essere trattate con cautela quando vengono visualizzate agli utenti per prevenire attacchi di spoofing.
Nota: Questa traduzione è fornita come riferimento. Consultare l'RFC 4514 originale per i dettagli ufficiali.