I've spent
the last hour searching without success through the '93 version of X.500,
trying to find the precise definition of DirectoryString (used in names,
street addresses, etc.) and PrintableString (used for CountryName,
SerialNumber, TelephoneNumber, DNQualifier, and DestinationIndicator).
Can someone point me to the correct reference, and perhaps answer the
question in passing?
The copy I have here of X.520 (25 Dec 1991) states in Section 2 clause 5:
DirectoryString { maxSize } ::= CHOICE {
T61String (SIZE (1..maxSize)),
PrintableString (SIZE (1..maxSize)),
UNIVERSAL STRING (SIZE (1..maxSize)) }
PrintableString is defined in X.208. [See also RFC 1327 Section 3.3.3]
It has letters, numbers and a few symbols (but not "@" for instance).
T61String allows for many European character sets.
I don't know the details behind UNIVERSAL STRING, but would hope that it would
be able to handle non-European languages. Could someone familar with the new
ASN.1 comment on this? This last choice has been added since 1988, with the
comment
Some implementations of the Directory do not support the last of
these choices, and will not be able to generate, match, or display
attributes having such a syntax.
We also need to check for the admissability of @, %, <, >, and perhaps
a few other special characters.
RFC 1274 has an "iA5StringSyntax" which it uses for rfc822Mailbox and
domainComponent attribute types.
BTW, I believe the encoding defined in RFC 1522 for non-ASCII character sets
might be suitable for placing inside an X.208 PrintableString.
-------------------------------------
Mark Wahl; M(_dot_)Wahl(_at_)cs(_dot_)ucl(_dot_)ac(_dot_)uk; Univ.
Coll. London