ietf-smime
[Top] [All Lists]

Re: Comments To ESS-00 - OIDs

1997-11-05 09:10:56
David P. Kemp wrote:

From: "Phillip H. Griffin" <asn1(_at_)mindspring(_dot_)com>

In all of the following OBJECT IDENTIFIER values, US is invalid
since it does not begin with a lowercase letter. Same for S in
SMIMECapabilities.

  2.8 Receipt Request Syntax

  receiptRequest OBJECT IDENTIFIER ::=
    {iso(1) member-body(2) US(840) rsadsi(113549) pkcs(1) pkcs-9(9)
        SMIMECapabilities(15) 3}

I think a little common sense is required when interpreting capitalization
conventions.  Can you cite a reference that REQUIRES the initial letter
of OID arcs to be lower case?  And if you want to change US to uS, I think
you'll have to petition ISO, not the S/MIME working group - country codes
were defined long ago in a forum far far away.

In the context of an ASN.1 value of type OBJECT IDENTIFIER, "us" 
really has nothing to do with country codes. It is merely an ASN.1
identifier, the name of some value. (ref below)


It is helpful to have a convention that distinguishes between structure
element names (initial lower) and the syntax definitions they refer to
(initial upper).  But as far as I know, there is no ASN.1 module which
defines a syntax associated with any of the iso or joint country codes,
thus there is no danger of confusion or collision between name and
syntax.

X.680 provides the following definition of values of type OBJECT
IDENTIFIER. In the NameAndNumberForm, each arc has an ASN.1 identifier,
which must begin with a lowercase letter, followed by the constraint
notation applied to a number or a defined value. In the NameForm, just
a valid ASN.1 identifier is present...

  ObjectIdentifierType  ::= OBJECT IDENTIFIER

  ObjectIdentifierValue ::= "{" ObjIdComponentList "}"  |
               "{" DefinedValue ObjIdComponentList "}"

   ObjIdComponentList ::= ObjIdComponent |
                          ObjIdComponent ObjIdComponentList

   ObjIdComponent ::= NameForm   |
                      NumberForm |
                      NameAndNumberForm

   NameForm          ::= identifier

   NumberForm        ::= number | DefinedValue

   NameAndNumberForm ::= identifier "(" NumberForm ")"

Either "uS" or "us" is correct.

Phil
-- 
Phillip H. Griffin         
ASN.1-SET-Java-Security    Griffin Consulting
asn1(_at_)mindspring(_dot_)com        1625 Glenwood Avenue
919.828.7114               Raleigh, North Carolina 27608 USA
------------------------------------------------------------
          Visit  http://www.fivepointsfestival.com
------------------------------------------------------------


<Prev in Thread] Current Thread [Next in Thread>