ASN.1 Tools for C++ — Details

ASN.1/C++ Compiler

The OSS ASN.1/C++ Compiler is a stand-alone program that takes as input one or more files, with each input file containing one or more ASN.1 modules. The compiler verifies that the specification is valid, and generates:

  • diagnostic messages and optionally an output ASN.1 listing
  • C++ classes to be included into your application program
  • a control table for use by the encoder/decoder.

Cross compiling is supported by the ASN.1 Tools for C++. Cross compiling enables a developer to produce files that can be used on a different operating system than the one the compiler runs on. Maximize your investment with the ability to cross-compile. Find out more about cross-compilation.


The encoder/decoder provides the application programmer with the encode() and decode() methods.

TLV Print Utility

Included with the ASN.1 Tools for C++. Takes a BER or DER encoding in ASCII or binary format from an input file and writes it to an output file in one of three different type-length-value (TLV) formats.

The encode() method takes data placed by your application program into the object of the compiler-generated C++ class, and converts it to a string of bytes encoded according to BER, PER, CPER, OER, COER, DER, CER, XER, CXER, E-XER, JSON, or AVN. The other method, decode(), takes a string of bytes that have been encoded according to BER, PER, CPER, OER, COER, DER, CER, XER, CXER, E-XER, JSON, or AVN and performs the inverse operation, resulting in an object instance of a C++ class that you can easily manipulate. Encoder/decoder tracing control and encoding/decoding exception handling are also provided.

Standards Conformance

For a list of the ASN.1 standards that the OSS ASN. Tools for C++ conforms to, see the Standards Conformance page.

Quick Links


More information about how to create, compile and link your ASN.1 application using the ASN.1/C++ Tools.

Free Trial

Download the ASN.1/C++ Tools today!

24x7 Tech Support


We are here: 24 hours a day, 7 days a week.

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email:

Quickly receive answers to your support questions.