FFASN1 is an ASN.1 compiler. It generates C code to implement
ASN.1 encoders and decoders. It has the following features:
- Supported encodings: BER/DER, aligned PER, unaligned PER, XER,
OER, JER and GSER (RFC
- Supported standards: X.680, X.681, X.682, X.683, X.690, X.691,
X.693, X.696, X.697. In particular extension
groups, information object classes and
parametrized types are implemented.
- Generate compact and efficient C code suitable for embedded
systems: for example, the PER encoder and decoder for the release 10.3
of LTE RRC
36.331 specification) is 110 KB big (uncompressed ARM
code). It also includes the code to print ASN.1 message in text form
(GSER encoding) for easy debugging.
- Supports arbitrary large integers in all encodings.
- Supports all PER-visible contraints.
- Compiler available for Linux (x86) and Windows. The generated C
code is portable and callable from C++. The source code of all the
runtime is provided for easy integration.
- Customization to add new encodings is possible.
The FFASN1 compiler is commercial software. If you want to have an
evaluation version or more information, contact me:
ASN1 Message Converter and Editor
ffasn1dump is a free ASN.1 message converter and
editor. This all-in-one tool of 200 KB contains the full ASN.1
compiler and encoders and decoders for the following encodings: BER,
DER, aligned PER, unaligned PER, XER, OER, JER and GSER.
The FFASN1 compiler which generates C/C++ code uses exactly the same
compiler but generates portable code which can be used in other
projects. So you can use ffasn1dump to evaluate the
capabilities of the FFASN1 compiler.
Fabrice Bellard - http://bellard.org/