The OSS ASN.1 Tools for Java is a development tool for building Java applications using ASN.1. It supports the ASN.1 syntax as described by the ASN.1:1990 through ASN.1:2021 standards and the following encoding rules:

  • Basic Encoding Rules (BER)
  • Distinguished Encoding Rules (DER)
  • Canonical Encoding Rules (CER)
  • Octet Encoding Rules (OER)
  • JSON Encoding Rules (JSON)
  • Canonical Octet Encoding Rules (COER)
  • Packed Encoding Rules (Aligned Basic-PER: PER, Aligned Canonical-PER: CPER, Unaligned Basic-PER: UPER, Unaligned Canonical-PER: CUPER)
  • XML Encoding Rules (Basic: XER, Canonical: CXER, Extended: E-XER)

The OSS ASN.1 Tools for Java is designed to meet your needs and comes with customization features which include command-line options and compiler directives.


The OSS ASN.1 Tools for Java consists of:

The following files are generated:

  • Diagnostic messages
  • Java class files
  • ASN.1 combined listing files
  • ASN.1 module listing files
  • Files that capture all on-screen compiler output
  • Files that capture all input compiler directives and generate directives for name preservation

Based on the code size, encoding/decoding speed and diagnostic capabilities, the runtime libraries are classified into two categories:

  • Space-Optimized (SOED)
  • Time-Optimized (TOED)

The Space-Optimized Encoder/Decoder (SOED) is table-driven and, as its name implies, minimizes the use of memory, which is especially useful when the schema is large or complex. Both the encoder and decoder have a simple, yet flexible memory management interface, as well as a wealth of trace, error trapping, diagnostic, and recovery capabilities.

The Time-Optimized Encoder/Decoder (TOED), on the other hand, is optimized for speed. It includes the same capabilities as SOED, except for tracing.

In addition to the encoders/decoders, the OSS ASN.1 Tools for Java includes the ASN.1/Java Application Programming Interface (API) that transforms ASN.1 types into Java classes, and describes the various coding services and runtime options available in the OSS ASN.1/Java runtime.

The OSS ASN.1 compiler for Java does not generate .c and .h files. There is no control table. The metadata contains all the control information that is required by the runtime classes.

The following diagram shows how the components of the OSS ASN.1 Tools for Java are used to build an application that is based on the generated code.

ASN.1 Studio is a graphical development environment available for Windows and Linux platforms, and provides a rich set of capabilities that make the ASN.1 compilation process easier.

You can use ASN.1 Studio to:

  • ASN.1-compile.
  • Work with ASN.1 encoded data.
  • Build different types of ASN.1 applications instantly.

To read more about its features, see ASN.1 Studio.

SOED and TOED workflow

SOED and TOED workflow


This documentation applies to the OSS® ASN.1 Tools for Java release 8.7 and later.

Copyright © 2024 OSS Nokalva, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without the prior permission of OSS Nokalva, Inc.
Every distributed copy of the OSS® ASN.1 Tools for Java is associated with a specific license and related unique license number. That license determines, among other things, what functions of the OSS ASN.1 Tools for Java are available to you.