[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SV: Re: Coding of national characters?



gangolli@StructuredArts.com wrote:
>
> lars.gu.johansson@posten.se wrote:
> >
> > We have a problem...
> >
> > In PKIX part 1, chapter 4.1.2.4  "Issuer Name" the issuer field
> > (and the subject field similarly) is defined. There are no
> > mandatory X.520 attributes (like country or commonName etc)
> > but the the DirectoryString is defined in ASN.1 as:
> >
> > >  DirectoryString ::= CHOICE {
> > >           teletexString           TeletexString (SIZE (1..maxSize)),
> > >           printableString         PrintableString (SIZE
> > (1..maxSize)),
> > >           universalString         UniversalString (SIZE
> > (1..maxSize))
>
>
> I agree with Lars.
>
> First, I believe the most current X.520 allows BMPString in this
> choice.

I have a version of X.520 from Nov 93 (is there a later version?)
which doesn't include BMPString in the choice. However, in the
appendix A to PKIX-1 I found the following lines:

   -- UNIVERSAL Types defined in '93 ASN.1
   -- but required by this specification

   UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING
           -- UniversalString is defined in ASN.1:1993

   BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
           -- BMPString is the subtype of
           -- UniversalString and models the Basic Multilingual Plane
           -- of ISO/IEC 10646-1

It looks to me that BMPString is actually defined in the later version
of the ASN.1 specification (ISO/IEC 8824) as a subset of UniversalString
(with a different tag!). I have only the 88 version so I haven't been able
to check this. Does that mean that BMPString can replace UniversalString
wherever it appears (e.g. the DirectoryString definition of X.520)?

If anyone on this list have a specification of the character set in BMPString
I would appreciate a copy. Please respond to me privately.

> Second, I believe we should just avoid encoding as TeletexString
> (T61String)
> altogether.
>
> I'd like to see the precedence go:
>
> - PrintableString  if it "fits"
> - BMPString if it "fits"
> - UniversalString

I think this would be in line with the SET specification.

Regards,
/Lars J