Yury Strozhevsky outcome of life experience

Free ASN.1 compliance suite 01.10.2012

When you are working with ASN.1 data it is necessary to use an ASN.1 coder/decoder tool. Does not matter what it will be: ASN.1 compiler or a desktop application. You just need to be sure that all results from the tool you are using are absolutely correct. But from my own experience there is a situation when different tools can produce different results for standard ASN.1 encoded binary data. There are mistakes even in widely-spread ASN.1 applications which is the consequence from ASN.1 standard misunderstanding or problems during testing process.

In order to solve all the problems at once would be enough to make one thing: one "compliance test suite" for ASN.1 standard. But when have been digging into that I found there are no such "compliance suites", at least there are no free "compliance suites". By my info there are paid "compliance suites", but I have not found a free one. For the sake of helping all developers making free ASN.1 tools I would like to introduce truly free ASN.1:2008 compliance suite.

Besides I made free ASN.1 encoder/decoder, which it fully-compliant with the test suite I made. This tool is delivering in EXE and source code, which is under BSD license.


ASN.1 in simple words 09.08.2012

Long time I am involved in working with ASN.1. I had been working in cryptography's product development, as well as in product development for telecom. Both of the area are using ASN.1 in their major activities.

But when I'd been working in that areas I heard many times - ASN.1 is a very complicated stuff, let's use professional compilers or even other languages instead of ASN.1. One of the reason for such opinions is that we do not have enough information about ASN.1. Yes, we do not have enough info! ASN.1 is a "grandfather" for almost all modern formats of data transferring, but we still have leak of information about ASN.1 where the format is described by simple words combined with many examples.

In this article I will try to add all descriptions in simplest form I ever heard, plus I will put together all the useful examples I made. The article is only about encoding of simple types - REAL, INTEGER, OBJECT IDENTIFIER, all string types, BOOLEAN, NULL, SEQUENCE and SET. In the article I put detailed descriptions of encoding procedures for each of these types. Moreover, the article combined together with C++ file (for Windows platform) where are all the examples. In the file with examples I also put additional material, not described in the article body.

The article is all about latest ASN.1 standard. The ASN.1 standard and all sub-standards could be downloaded in one file via link http://www.itu.int/rec/T-REC-X.680-X.693-200811-I/en. By default in article I am describing BER encoding (Basic Encoding Rules).

About me