ietf-corpus

rfc-1488

The X.500 String Representation of Standard Attribute Syntaxes

T. Howes, S. Kille, W. Yeong, C. Robbins
date1993-07 streamIETF areaapp wgosids statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc1488 doi10.17487/RFC1488
This document defines the requirements that must be satisfied by encoding rules used to render Directory attribute syntaxes into a form suitable for use in the LDAP, then goes on to define the encoding rules for the standard set of attribute syntaxes defined in [1,2] and [3]. [STANDARDS-TRACK]

obsoleted by

Extracted elements (31)

design-rationale §3

Many of the attribute syntax encodings defined in this document are adapted from those used in the QUIPU X.500 implementation, acknowledging prior art from that implementation's syntax specifications.

ldap

design-rationale §2.15

When encoding OIDs, object descriptors should be preferred over numeric dotted notation to the greatest extent possible. For example, 'organizationName' is preferable to 'ds.4.10', which is preferable to '2.5.4.10'. This improves human readability of encoded directory values.

ldap

normative-requirement §1 MUST

Encoding rules defined for a given attribute syntax must produce octet strings. To the greatest extent possible, encoded octet strings should be usable in their native encoded form for display purposes.

ldap

normative-requirement §1 SHOULD

Encoding rules for attribute syntaxes defining non-binary values should produce strings that can be displayed with little or no translation by clients implementing the lightweight directory protocols.

ldap

protocol-element §2.26

cACertificate values are encoded identically to userCertificate values.

ldap, pkix, crypto

protocol-element §2.2

caseIgnoreStringSyntax, caseExactStringSyntax, printableStringSyntax, numericStringSyntax, octetStringSyntax, caseIgnoreIA5String, iA5StringSyntax, and t61StringSyntax are all encoded as the string value itself with no transformation.

ldap

protocol-element §2.35

Fax attribute values are encoded as octet strings containing Group 3 Fax images as defined in CCITT Recommendation T.4.

ldap

protocol-element §2.34

Photo attribute values are encoded as octet strings containing JPEG images in the JPEG File Interchange Format (JFIF) as described in the JFIF 1.02 specification.

ldap

protocol-element §2.20

PresentationAddress values are encoded using the representation described in RFC 1278 (A String Representation for Presentation Addresses).

ldap

protocol-element §2.24

userPasswordSyntax values are encoded as if they were of type octetStringSyntax.

ldap, security

protocol-element §2.21

uTCTimeSyntax values are encoded as Printable Strings containing a UTCTime value.

ldap

protocol-element §2.12

Values of type distinguishedNameSyntax are encoded using the representation defined in RFC 1485 (A String Representation of Distinguished Names).

ldap

protocol-element §2.1

Values of type Undefined are encoded as if they were values of type Octet String.

ldap

security-consideration §5

Security issues are not discussed in this memo. No security analysis of the attribute syntax encoding rules is provided.

security, ldap

wire-format §2.27

authorityRevocationList is encoded as '<signature> '#' <issuer> '#' <utc-time> [ '#' <revoked-certificates> ]' where each revoked certificate entry contains subject, algorithm, serial, and utc-time separated by '#'.

ldap, pkix, crypto

wire-format §2

Auxiliary BNF primitives defined for use across all syntax encodings: <a> (letters), <d> (digits), <hex-digit>, <k> (letters/digits/hyphen), <p> (printable chars), <CRLF> (0x0A), and derived types <letterstring>, <numericstring>, <keystring>, <anhstring>, <printablestring>, <space>.

ldap

wire-format §2.13

booleanSyntax values are encoded as the literal string "TRUE" or "FALSE": <boolean> ::= "TRUE" | "FALSE".

ldap

wire-format §2.11

caseExactListSyntax is encoded as one or more Case Exact String values separated by '$': <caseexactlist> ::= <caseexactstring> | <caseexactstring> '$' <caseexactlist>.

ldap

wire-format §2.10

caseIgnoreListSyntax is encoded as one or more Case Ignore String values separated by the '$' character: <caseignorelist> ::= <caseignorestring> | <caseignorestring> '$' <caseignorelist>.

ldap

wire-format §2.29

crossCertificatePair values are encoded as two certificate values separated by '|': <certificate> '|' <certificate>, where each certificate follows the userCertificate BNF.

ldap, pkix, crypto

wire-format §2.30

deliveryMethod values are encoded as one or more '$'-separated tokens from the set: 'any', 'mhs', 'physical', 'telex', 'teletex', 'g3fax', 'g4fax', 'ia5', 'videotex', 'telephone'.

ldap

wire-format §2.19

FacsimileTelephoneNumber is encoded as <printablestring> [ '$' <faxparameters> ] where <faxparm> tokens include 'twoDimensional', 'fineResolution', 'unlimitedLength', 'b4Length', 'a3Width', 'b4Width', 'uncompressed'.

ldap

wire-format §2.22

Guide (searchGuide) values encode an optional object class OID followed by a criteria expression using '&', '|', '!' operators and criteria-items of the form <attributetype> '$' <match-type> where match-type is one of EQ, SUBSTR, GE, LE, APPROX.

ldap

wire-format §2.14

integerSyntax values are encoded as the decimal character representation of their value (e.g., digit '1' is represented by character '1').

ldap

wire-format §2.32

mailPreferenceOption values are encoded as one of three fixed tokens: "NO-LISTS", "ANY-LIST", or "PROFESSIONAL-LISTS".

ldap, email

wire-format §2.15

objectIdentifierSyntax values are encoded as <descr>, <descr> '.' <numericoid>, or <numericoid>. Object descriptors should be preferred over numeric OIDs where assigned and known.

ldap

wire-format §2.31

otherMailboxSyntax is encoded as <mailbox-type> '$' <mailbox>, where mailbox-type is a Printable String (e.g., 'Internet' or 'MCIMail') and mailbox is an IA5 String containing the actual mailbox address.

ldap, email

wire-format §2.23

PostalAddress values are encoded as T61String components separated by '$': <t61string> | <t61string> '$' <postal-address>, where each component is an individual address line.

ldap

wire-format §2.18

teletexTerminalIdentifier values are encoded as one or more printable strings separated by '$': <printablestring> 0*( '$' <printablestring>), where each component is a portion of the teletex terminal identifier.

ldap

wire-format §2.17

telexNumberSyntax values are encoded as three '$'-separated printable strings: <actual-number> '$' <country> '$' <answerback>, representing the TELEX number, country code, and terminal answerback code.

ldap

wire-format §2.25

userCertificate is encoded as '<signature> '#' <issuer> '#' <validity> '#' <subject> '#' <public-key-info>', where validity is '<not-before-time> '#' <not-after-time>' and public-key-info is '<algorithm-id> '#' <encrypted-value>'.

ldap, pkix, crypto