ASN.1 developments
Contents
1982 - The beginnings
1984 - The first ITU-T ASN.1 Standard
1984 onward - Use in OSI Standards and in telecommunications
1986 - The first ISO ASN.1 Standard
1988 - ASN.1 recognised as independent from X.400
1988 - Trouble looms for the Macro Notation
1988 - The emergence of tool-vendors
1990 - A new ISO version
1990 - The first ASN.1 book
1994 - ASN.1 structured as we now know it!
1984 - Controversy begins!
1998 - Another new version of ASN.1
1999 - Work on the Encoding Control Notation begins
1999/2000 The Dubuisson and Larmouth books
2000 Standards activity
October - ECN submitted for FCD ballot
December - New work on support for XML
Work in progress at end of year 2000
2001 standards activity
Activity during the year
Work in progress at end 2001
2002 standards activity
Completion of three major pieces of work
The 2002 version
Work done during the year
Withdrawal of X.208 and X.209
Work added on Registration Authority standards and on UUIDs
Work added on ISO 8601 time types
Work in progress at end 2002
2003 standards activity
Work during the year
Fast Web Services work added
UML profile work added
Work in progress at end 2003
2003 tool announcements
This page records some of the events in the development of ASN.1.
Contributions are solicited to info@asn1.org to add important events
that have been omitted, to notify new events related to ASN.1, and to
correct any errors in this page. Contributions are also solicited on
the finalization of any major standards that use ASN.1. (Such
information is not currently present.)
The early part of the page is now history, and the events and their
importance are recorded with the benefit of hindsight.
For those looking for more recent news, activity during 2003 is recorded at the end.
1982 - The beginnings
Initial work in CCITT, based on the Xerox Courier Protocol (introduced
into CCITT by Jim White) was introduced into ISO, and collaborative work
began.
The name ASN1 was proposed, but frequently mi-read or mi-typed as
ANSI - the American National Standards Institute.
The name ASN.1 was agreed to avoid confusion.
1984 - The first ITU-T ASN.1 Standard
X.409, part of the X.400 series, and only a few tens of pages thick
(current ASN.1 specs are a several hundred pages thick!) was approved by
CCITT. Editor Doug Steedman. ITU-T Rapporteur Jim White.
The X.400 series was the first major user of ASN.1.
This contained the basic ASN.1 notation and what is now known as the
Basic Encoding Rules intertwined paragraph by paragraph. Each piece of
notation was immediately followed by its encoding in BER. Very readable!
It also contained the first text for the Macro Notation - added at the
last minute to provide the ability to specify selective encryption of an
ASN.1 field, but very general, and very obscure!
1984 onward - Use in OSI Standards and in telecommunications
ASN.1 becomes the notation-of-choice for the specification of OSI
Application Layer Standards and of some parts of low-level
telecommunications standards.
1986 - The first ISO ASN.1 Standard
ISO approved ISO/IEC 8824 and ISO/IEC 8825, based on X.409, but with a
number of additional features, notably Object Identifiers. The text for
the macro notation was completely re-written. Editor John
Larmouth.
This was the first separation of the encoding rules from the notation.
X.409 was torn apart, with 8824 defining only notation, and 8825 defining
the encodings of the values that were defined by the notation.
1988 - ASN.1 recognised as independent from X.400
The ITU-T Recommendations X.208 and X.209 were approved (Editor John
Larmouth). These were
part of the general X.200 series that contained the Recommendations
relevant to all aspects of OSI development.
Some additional functionality was added beyond the 1986 OSI version.
This version became widely adopted, and is still referenced today.
The first version of the Directory (X.500 series) was also approved in
1988, the second major user of ASN.1, and best known today for X.509, the
standard for digital Certificates.
1988 - Trouble looms for the Macro Notation
ISO/IEC JTC1/SC16 noted that there were major ambiguities in the ASN.1
value notation (and obscurity) and resolved that no new macros were to
be written, recommending that the ASN.1 group either clarify or
replace the Macro Notation.
1988 - The emergence of tool-vendors
OSS (later to become OSS-Nokalva) was founded by Bancroft Scott with
the sole product-line of ASN.1 tools.
Many other tool vendors developed over the next decade or so (see the
list of Consortium members for a (not exhaustive) list of current ASN.1
tool vendors.
1990 - A new ISO version
A new version of 8824 and 8825 was produced, with the same
functionality as the CCITT 1988 version, but mending some bugs in obscure
areas of the notation. (Largely the same text, but terms such as "or
derived by tagging" were generally replaced with "or derived by tagging
or subtyping".) Editor John Larmouth. Rapporteur Grenville Taylor.
1990 - The first ASN.1 book
Doug Steedman's "ASN.1 The Tutorial and Reference", was published by
Technology Appraisals Ltd.
1994 - ASN.1 structured as we now know it!
The 1994 version of ASN.1 was long in gestation. It was published
(more or less) simultaneously by ITU-T and ISO as completely identical
texts. (The first identical texts to be produced.) The Editor was
Bancroft Scott. Rapporteur John Larmouth.
It introduced several new features:
- The macro notation was removed!, and replaced by the
Information Object Class concepts and syntax.
- The Packed Encoding Rules were standardised, after several false
starts.
- Additional constraint notations were added.
- Parameterisation of the notation was added.
- The ISO Standards became multi-part, and the old CCITT X.208 and
X.209 mirrored the ISO multi-part standards as a new ITU-T X.680 and
X.690 series.
The new document structure was as follows:
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was the old ASN.1 notation from
X.208 and ISO/IEC 8824 (revised by minor additions, but with removal of
ANY and of the Macro Notation).
- ITU-T Rec. X.681 | ISO/IEC 8824-2 was the Macro Notation replacement
(Information Object Classes).
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was the additional constraint
notations.
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was the new notation for
parameterisation of ASN.1 specifications.
- ITU-T Rec. X.690 | ISO/IEC 8825-1 was the (unchanged) old ASN.1 Basic
Encoding Rules specifications, with the addition of specifications for
the canonical CER and DER.
- ITU-T Rec. X.691 | ISO/IEC 8825-2 was the new Packed Encoding Rule
specifications.
1984 - Controversy begins!
It is normal for a new version of an ISO Standard (or an ITU-T
Recommendation) to completely replace the previous version (immediately)
in the offerings for sale by ISO (and by ITU-T).
However, it was recognised that, whilst the Information Object Class
replacement for the Macro Notation could be used to replace the old Macro
Notation with no change to the
bits-on-the-line, it might take time for standards using ASN.1 to be
changed.
It was therefore agreed that ISO/IEC 8824 and 8825 (1990) and CCITT
X.208 and X.209 would remain available for a limited period (probably
about four years).
There were those that said the 1994 version should have been called
ASN.2, because of the withdrawal of the Macro Notation, but that notation
had so many flaws in it, that nobody that understood the issues wanted to
give it any credence or a longer life.
But it was not until 2003 that the old X.208, X.209, and the 1990
ISO/IEC 8824 and 8825 were finally withdrawn (ceased to be International
Standards or ITU-T Recommendations, and ceased to be available for
purchase).
It is, however, still the case today that in the Internet community,
there are groups that insist on use of the 1988 notation, even in new
specifications.
1998 - Another new version of ASN.1
The 1998 version contained little of importance. It was largely a
bug-fixing revision. The Editor was Bancroft Scott. The Rapporteur was
John Larmouth.
1999 - Work on the Encoding Control Notation begins
The Encoding Control Notation was intended to allow the abstract
syntax of a legacy protocol to be specified in normal ASN.1 notation, and
for an additional specification of an Encoding Definition Module and an
Encoding Link Module to be added to specify formally the original
bits-on-the-line.
This was an ambitious project, first proposed by Frank Schramm
(Siemens) and Colin Wilcock (Nokia). It involved developing a model of
all possible (!) ways of encoding abstract values, and providing a
notation to say which was being used.
The resulting text (ITU-T X.692 | ISO/IEC 8825-3) was more than half
the size of all the other parts of 8824 and 8825 put together!
1999/2000 The Dubuisson and Larmouth books
href = "../books/index.htm">Tutorial texts giving full coverage
of the 1988 version of ASN.1 were published within a few weeks of each
other, the first in French (later translated into English) and the second
in English.
2000 Standards activity
October - ECN submitted for FCD ballot
Ballot comments suggested an extension to the work to provide better
support for bounds testing, and the open type.
December - New work on support for XML
A New Work Item proposal to ISO for work on XML support in ASN.1 (to
become the XML Encoding Rules - XER) was approved.
Work in progress at end of year 2000
The following work was part of the ASN.1 program of work at the end of
2000:
- A new standard for Encoding Control Notation.
- A new standard for XML Encoding Rules.
2001 standards activity
Activity during the year
The January meeting in Geneva saw the beginnings of serious discussion
of the XML Encoding Rules (XER), and was seminal in determining the form
of these. Work was also beginning on the new version of the ASN.1
standards planned to be finished for approval during 2002.
This meeting also saw Paul Thorpe taking over as Editor and the
establishment of an ITU-T "ASN.1 Project", with Olivier Dubuisson as the
Project Leader.
An exhaustive series of meetings in 2001 was planned in order to
finalise the ECN text for ITU-T approval, and to make further progress on
XER. Most of this work matured by the end of April after meetings in
Manchester and Los Angeles, with ISO ballots during the summer ready for
ITU-T approval in the Autumn. Version brackets and version numbers were
introduced into the ASN.1 notation as part of the ECN work.
The Los Angeles meeting in April saw a decision to provide a mapping
from XSD into ASN.1, and the beginnings of a recognition that this would
mean the introduction of the Encoding Instruction concept, and of what
became known as EXTENDED-XER, with recognition that the original XER
(ignoring encoding instructions) should be called BASIC-XER.
The Bangalore meeting in September did further work on ECN (the new
X.692 | 8825-3), but it was still not ready for ITU-T approval, and a
further meeting was planned for Paris in November to produce final text.
A draft of the intended ECN amendment was produced.
Similarly, the text for XER (the new X.693 | 8825-4) was not quite
ready.
After a meeting in Orlando in October (which concentrated mainly on
XER) and the final meeting of the year in Paris in November
(concentrating mainly on ECN), both documents went for final ITU-T
approval. Work continued on the production of the 2002 version of ASN.1.
Work in progress at end 2001
The following work was part of the ASN.1 program of work at the end of
2001:
- The Encoding Control Notation base standard (under final ITU-T
ballot).
- The XML Encoding Rules base standard (under final ITU-T ballot).
- Preparation of a 2002 version of all parts of the ASN.1 standards.
(under ISO ballot).
- An amendment to the Encoding Control Notation to extend its
functionality, particularly in relation to open types and the testing of
bounds.
- Substantial amendments to the base notation to introduce the concept
of Encoding Instructions.
- A substantial amendment to the XER standard to define XML Encoding
Instructions and the EXTENDED-XER encoding rules.
- A new standard specifying the mapping from an XSD specification to an
ASN.1 specification (with XML Encoding Instructions) such that the XML
documents defined by the ASN.1 specification (with EXTENDED-XER) would be
the same as those defined by the XSD specification.
2002 standards activity
Completion of three major pieces of work
This saw the final approval of the ECN text, the XER text, and the
2002 version of all other parts of the ASN.1 standards, all in the early
part of the year.
The 2002 version made a lot of changes to all parts of
ASN.1, but the majority were simply improvements in clarity, or minor
items needed to support the ECN and XER work. Almost concurrent with
publication of the ECN and XER standards, we saw the first ECN and XER
tools emerge.
The resources section of these pages contain a number of presentations
and papers on ECN and XER.
The 2002 version
The 2002 version consisted of:
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was the old
ASN.1 notation, but with XML Value Notation and version brackets and
numbering added.
- ITU-T Rec. X.681 | ISO/IEC 8824-2 was Information Object Classes
(minor changes only).
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was the Constraint Specifications
(minor changes only).
- ITU-T Rec. X.680 | ISO/IEC 8824-1 was Parameterisation (minor changes
only).
- ITU-T Rec. X.690 | ISO/IEC 8825-1 was the ASN.1 Basic
Encoding Rules (and CER and DER specifications (minor changes only).
- ITU-T Rec. X.691 | ISO/IEC 8825-2 was the Packed Encoding Rule
specifications (minor changes only).
- ITU-T Rec. X.692 | ISO/IEC 8825-3 was the new Encoding Control
Notation.
- ITU-T Rec. X.693 | ISO/IEC 8825-4 was the new XML Encoding Rules
Work done during the year
Intensive work continued during the year on the amendments to X.680 |
8824-1 and X.681 | 8824-1 to support Encoding Instructions for EXTENDED-
XER, and on the (large) amendment to X.693 for EXTENDED-XER itself.
Work on X.694 | 8825-5 (the mapping from XSD to ASN.1) continued, but
was largely on the back burner.
Withdrawal of X.208 and X.209
There was, finally, in the Spring of 2002, agreement by both ITU-T and
ISO that X.208 and X.209 and the 1990 versions of 8824 and 8825
should be withdrawn, putting the old Macro Notation finally to rest.
Intensive discussions and liaisons began (again) to try to address any
residual references to these old standards, and to specifications using
the old notation. The ASN.1 Module database established by the ITU-T
ASN.1 Project was extremely useful in identifying problem specifications.
Work added on Registration Authority standards and on UUIDs
Further new work was proposed for the ASN.1 group. This was to
produce new versions of all the joint and ITU-T-only texts in the X.660
and X.670 series (some parts of ISO/IEC 9834 for joint texts). This was
largely a tidying-up exercise, but involved a number of clarifications
related to the OID tree and its use, and was essentially in response to
the growing interest in ASN.1 Object Identifiers as shown by the number
of entries in the OID Repository that had been established by Olivier
Dubuisson under the ITU-T ASN.1 Project.
There was also a New Work Item proposal to add to the X.660 series
(and to the ISO/IEC 9834 multi-part standard) a specification for the
generation and registration of UUIDs (Universally Unique Identifiers),
which were in heavy and increasing use, but were supported only by an
Internet Draft.
Work added on ISO 8601 time types
It became clear in the progression of the mapping from XSD that the
time types in ASN.1 (based on the very first version of ISO 8601) badly
needed updating to support the various time types in XSD and the
functionality of the latest ISO 8601 standard.
Work in progress at end 2002
The following work was part of the ASN.1 program of work at the end of
2002:
- An amendment to the Encoding Control Notation to extend its
functionality, particularly in relation to open types and the testing of
bounds.
- Substantial amendments to the base notation to introduce the concept
of Encoding Instructions.
- A substantial amendment to the XER standard to define XML Encoding
Instructions and the EXTENDED-XER encoding rules.
- A new standard specifying the mapping from an XSD specification to an
ASN.1 specification (with XML Encoding Instructions) such that the XML
documents defined by the ASN.1 specification (with EXTENDED-XER) would be
the same as those defined by the XSD specification.
- Revision of the Registration Authority standards.
- A new Registration Authority standard for Universally Unique
Identifiers.
- Work on time types.
2003 standards activity
Work during the year
This year saw a major concentration in the early part of the year on
the completion of the amendments for EXTENDED-XER and on the new
standard for the mapping from XSD, with ISO ballots during the summer.
This work received final ITU-T approval in December, and was under
ISO FDAM ballot at the end of the year.
There was also work done to complete the revision of the X.660 series
and initiate the necessary review in ISO. This was completed in time for
ITU-T final ballot in December to produce the 2004 version of
Registration Authority standards.
Work on the new UUID standard was completed, and issued for ISO CD
ballot in December.
Work on a revised ECN amendment (considerably cut-down from the
original amendment) was completed, and issued for ISO second FPDAM ballot
in December.
The year ended with a lot of work in the final stages of balloting,
with substantial (but immature) text for Fast Web Services (see below),
and with work on time types and a UML ASN.1-profile still to be
progressed.
Fast Web Services work added
In April 2003, a proposal was received from SUN Microsystems and
OSS-Nokalva on work involving an ASN.1 specification of a SOAP wrapper
and of an ASN.1 datatype for the XML Infoset. This was approved as a New
Work Item in ISO and by ITU-T, and an extra meeting was called in June
2003 to discuss the precise direction of this work.
The work became known as "Fast Web Services", with the main aim of
producing a new X.695 | 8825-6 which would specify the use of ASN.1
binary encodings to support Web Services with a higher transaction
processing rate than was available with XML encodings of the SOAP wrapper
and its contents.
There was also a proposal to provide a server-end Web Services
interface for interrogation of the ASN.1 module database, established by
the ITU-T ASN.1 Project, with commitment from a major tool vendor to
provide client-end support for this Web Service. It was intended that,
if established, this service would move to the use of the Fast Web
Services protocols as they matured.
Work on X.695 | 8825-6 progressed throughout the year, with much text
being produced and many problems resolved, but there was still much work
to be done at year-end.
UML profile work added
ISO gave approval for preparatory work on a New Work Item for a "UML
profile" for ASN.1, work which ITU-T had already decided to progress.
This would essentially provide a graphical syntax based on UML class
diagrams for ASN.1 specifications.
However, no work was done on this during the year.
Work in progress at end 2003
The following work was part of the ASN.1 program of work at the end of
2003:
- An amendment to the Encoding Control Notation to extend its
functionality, particularly in relation to open types and the testing of
bounds. (Under ISO second FPDAM ballot).
- Substantial amendments to the base notation to introduce the concept
of Encoding Instructions. (Approved and under final ISO FDAM ballots).
- A substantial amendment to the XER standard to define XML Encoding
Instructions and the EXTENDED-XER encoding rules. (Approved and under
final ISO FDAM ballot).
- A new standard specifying the mapping from an XSD specification to an
ASN.1 specification (with XML Encoding Instructions) such that the XML
documents defined by the ASN.1 specification (with EXTENDED-XER) would be
the same as those defined by the XSD specification. (Under ITU-T final
ballot).
- Revision of the Registration Authority standards. (Under ITU-T final
ballot).
- A new Registration Authority standard for Universally Unique
Identifiers. (Under ISO CD ballot).
- Work on time types.
- Work on Fast Web services.
- Work on a UML ASN.1 profile.
2003 tool announcements
2003 saw almost all vendors of ASN.1 tools announcing modification of
their tools, or new tools, implementing some or all of the ASN.1 support
for XML. A summary of these announcements is given in Integration
of ASN.1 and XML Technologies.