TOP

ASN.1/Java Product Documentation

For an in-depth description, as well as for functional block diagrams and code snippets related to the ASN.1/Java Compiler and Encoder/Decoder API, see the sections corresponding to each tool. To easily navigate to a specific topic of interest, browse the table of contents.

Introduction

The OSS ASN.1 Tools is a toolkit developed by OSS Nokalva to support ASN.1 and its encoding rules. The toolkit provides a complete hassle-free solution, with full support of the ASN.1 syntax based on the ASN.1:1990 and ASN.1:2015 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/ER)
  • Canonical Octet Encoding Rules (C-OER)
  • Packed Encoding Rules (Aligned: PER, Unaligned: UPER)
  • XML Encoding Rules (Basic: XER, Canonical: CXER, Extended: E-XER)

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

Components

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

Utilities


This documentation applies to OSS® ASN.1 Tools for Java release 6.3 and later. For earlier versions, consult the PDF manual available in your product installation.

Copyright © 2017 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.