Subject: DER in ac509prof-03

From: "Phillip H. Griffin" <[email-masked]>
Date: Tue, 09 May 2000 20:33:53 -0400

Hi there,

In section 4.1, just after your use of the deprecated 
"ANY" notation, your profile states incorrectly that "DER
is defined in [X.208-88]". X.208 defines Abstract Syntax
Notation ONE (ASN.1), but it does not define any of the
ASN.1 encoding rules.

Way back in 1988, the time period to which you refer, the
ASN.1 encoding rules were defined in X.209. Of course both
X.208 and X.209 have been superseded and relegated along
with their lists of unresolved defects to the maintenance
site, at http://www.furniss.co.uk/maint/asn/index.html.

In 1988, only BER existed as an ASN.1 standard, as defined
in X.209 (though X.509:88 defined a set of restrictions on
X.209 that they called DER). The DER, PER and CER encoding
rules were not standardized until 1994. It could be that
you are referring to "[X.509-88]" in your document rather
than the current version of X.509 (which defines ACs) to
try to include some sort of DER support for X.208/209 - 
hard to tell. 

The initial DER was created by Hoyt Kesterson's X.509 group. 
Out of their efforts, the ASN.1 DER rules evolved, and are
now defined in the current ASN.1 standard, X.690. Though the
spirit of X.509-88 and X.690:DER are the same, X.690:DER 
corrects a number of oversights present in X.509-88. These
two rule sets differ in slight ways, particularly in how 
bit string values and a few other very small details are 
handled. These distinctions become important when digital
signatures are involved.

A good description of DER can be found in a free download 
copy of the recent ASN.1 book by John Larmouth, called ASN.1
Complete, at http://www.nokalva.com/asn1/booksintro.html. 
Hard copy is also available from B&N (not for free I think).
All of the wrinkles and warts are discussed. Worth a read 
if you have to deal often with such things.

Phil
----
Phillip H. Griffin      Griffin Consulting
http://asn-1.com        Secure ASN.1 Design & Implementation
+1-919-832-7008         1625 Glenwood Avenue, Five Points
+1-919-832-7390 [fax]   Raleigh, North Carolina  27608  USA
------------------------------------------------------------

---

From: Stephen Farrell <[email-masked]>
Date: Wed, 10 May 2000 11:43:04 +0100

"DER is defined in [X.208-88]" -> "DER is defined in [X.690-97]" 
is fine by me, anyone else care? 

I guess this should be the same in the son-of-2459 too.

Stephen.

-- 
____________________________________________________________
Stephen Farrell         				   
Baltimore Technologies,   tel: (direct line) +353 1 647 7406
61 Fitzwilliam Lane,                    fax: +353 1 647 7499
Dublin 2.                mailto:[email-masked]
Ireland                             http://www.baltimore.com

---

From: Russ Housley <[email-masked]>
Date: Wed, 10 May 2000 12:12:42 -0400

I disagree.  We are using the ASN.1-1988 documents, not the 1997 ones.

Russ

---

From: Russ Housley <[email-masked]>
Date: Wed, 10 May 2000 12:17:40 -0400

Phil:

You are correct.  In the 1988 series of documents, DER is defined as a 
short list of constraints on ASN.1, and those constraints are enumerated in 
X.509-1988.  We should Reference X.208-1988, X.209-1988, and X.509-1988 to 
provide all of the parts that people need.

I have no problem including a reference to the Larmouth book if people 
think that it will help implementors.

Russ

---

From: Paul Koning <[email-masked]>
Date: Wed, 10 May 2000 12:27:54 -0400 (EDT)

>>>>> "Russ" == Russ Housley <[email-masked]> writes:

 Russ> I disagree.  We are using the ASN.1-1988 documents, not the
 Russ> 1997 ones. 

 >> is fine by me, anyone else care?

Are the two different?  That is, are there bitstrings that conform to
one but not the other, or whose meaning changes depending on which
spec you use?

I think Russ's position is problematic.  It's a bit like saying that
you continue to use an RFC that has been superseded.  Presumably it
was superseded for a reason.  Also, while old RFCs are still
available, 12 year old ITU specs may only exist in antique shops by
now.   Clearly, it is not acceptable to have an RFC that points to an
outside standard unless that outside standard is available.

	paul

---

From: Russ Housley <[email-masked]>
Date: Wed, 10 May 2000 12:59:22 -0400

Paul:

Both generate identical bit strings.

This topic has been debated several times,and I do not think we should do 
it again on the list.  If you want to have a private discussion about it, I 
will be glad to do so.  The bottom line is that ASN.1-1997 does not have 
multiple implementations.

Russ

---

From: "Phillip H. Griffin" <[email-masked]>
Date: Wed, 10 May 2000 21:39:09 -0400

> Both generate identical bit strings.

Russ, this is simply not true. DER as defined in X.509:1987
is not as rigorously defined as the DER in X.690. Given the 
same abstract value these two sets of rules can produce
different encodings.

You may have forgotten this discussion from August 1998
between the ASN.1 standards editor and the Directory
rapporteur on changing the reference in X.509 from their
own definition of DER to that in X.680. After detailing
differences between bit string encodings the ASN.1 editor
stated in part:

  >The reason 
  >that X.509 DER was not adopted verbatim into X.690 was 
  >that when we started looking at it closely we came across
  >deficiencies in the X.509 encoding of REAL, UTCTime, 
  >GeneralizedTime, GeneralString and BIT STRING which can 
  >result different encodings for a given value.  So we fixed
  >what was broken.  I have no doubt that X.690 DER simply 
  >closes the holes in X.509 DER and otherwise introduces
  > no incompatibility in X.509.  
  >
  >The X.690 DER spec is very short, as is the X.509 spec.
  >Take the time and review the two and you will see that 
  >X.690 DER is simply a tighter version of X.509 DER.

> multiple implementations.

What? Russ this may have been true a few years ago but
it is not so now. While this is not a complete list I'm 
sure, and it doesn't take into account at all the many 
in house and not for sale tools that companies have, but
among the ASN.1 tools I know of that support ASN.1:1997 
are:

   http://asn1.elibel.tm.fr/en/tools/index.htm
   http://www.oss.com/products/tools.html
   http://www.computec.com/en/asn2cxx/index.html
   http://www.obj-sys.com/asn1.htm

All of these support both BER and DER. All of these also
support PER, though two of them at present only have beta
test versions of PER tools available. There are two or three
other companies currently building tools to support 
ASN.1:1997 as well, but none is complete at this time.

Phil
----