Subject: Re: New modules drafts posted

From: "Charles W. Gardiner" <[email-masked]>
Date: Mon, 26 Jan 2009 14:06:53 -0500

I agree with Michael D'Errico's suggestion that the proposed new 
documents remain as optional.  They are very difficult for mere mortals to 
comprehend.  The criss-cross of imports and the extensive use of 
higher-level abstractions make them very complicated. I fear that such 
complexity may aid those who wish to deceive.  Like Mike, I have also 
implemented an ASN.1 parser based on the 1988 syntax (plus a simple method 
for implementing the "ANY DEFINED BY" construct) and have used it quite 
extensively for processing certificates and CRLs.

Charlie Gardiner

---

From: Thomas Pornin <[email-masked]>
Date: Mon, 26 Jan 2009 20:40:43 +0100

On Mon, Jan 26, 2009 at 02:06:53PM -0500, Charles W. Gardiner wrote:
> Like Mike, I have also  implemented an ASN.1 parser based on the 1988
> syntax (plus a simple method for implementing the "ANY DEFINED BY"
> construct) and have used it quite extensively for processing
> certificates and CRLs.

So did I. That is a generic and common pattern. I see two main reasons
for that:

-- It is considerably simpler to write a parser for the 1988 syntax
than for the 1993 syntax.

-- RFC 3280 included only the 1988 syntax modules.

In the ideal world, one would not write an ASN.1 parser. The ideal model
predicts that application developpers would simply use an existing ASN.1
compiler. However, ASN.1 compilers translate the ASN.1 syntax into some
code or templates for a given BER/DER library. It often happens that
existing encoding libraries are not adequate for some platforms,
especially embedded architectures (e.g., one does not always have the
luxury of a malloc() function...). So, invariably, developpers find out
that they must parse ASN.1 themselves, either by writing a parser, or
even manually (I did that, too). The 1988 syntax is much more convenient
for that.

I do not mind new modules becoming the standard -- as long as equivalent
modules in the 1988 syntax are available, and somebody makes sure that
both versions are synchronized (I do NOT volunteer for that), so that
application development can keep on using the simple syntax when needed.

Theoretically, an existing ASN.1 parser (for the new syntax) could be
modified to output equivalent modules in the 1988 syntax automatically.
Does such a code exist somewhere ?

	--Thomas Pornin