Monday, October 19, 2020

OSS ASN.1 Studio Test Data Generator

Having spent three decades developing robust and reliable ASN.1 solutions, we know how time consuming and complex a task it is to create a comprehensive test suite to test your own ASN.1-based solutions. This is why ASN.1 Studio, our powerful state-of-the-art ASN.1 IDE, includes a powerful feature that allows you to easily configure it, and within seconds  to generate thousands of different test messages  - work that, if performed manually, would be error prone and take days or weeks to complete.


ASN.1 Studio includes several options to customize your test messages. As you can see in the image above, if constraints are applied to ASN.1 types or on the fields of a type, you can select the first value that satisfies the constraints, or select a random value using those constraints. You can also ignore the constraints and set possible values in a configuration table for the ASN.1 types and fields that ASN.1 Studio will then use to generate test messages. 

Following are a few examples of values and ranges of values for various ASN.1 types or fields that you can configure for the test message generation. 


  • For INTEGER types, you can select a range of values. 


  • You can select TRUE, FALSE, or a random value for BOOLEAN types. 


  • For OCTET STRING types, you can select the minimum and maximum length of octets, and the range for a single octet value; that is, you can specify that all the octet values should range from 0x00 to 0x1F.


  • For OBJECT IDENTIFIER types, you can specify the root arcs, a value range for additional arc values, and the number of additional arcs. 


  • For values of REAL types, you can specify ranges for mantissa values and exponent values to be used in the test messages. 


  • For optional field values in SEQUENCE/SET types, you can select Absent, Present, or Random. You can do the same for the DEFAULT and extension addition values. For SEQUENCE OF/SET OF types, you can specify the number of components. 


  • Similarly, you can specify the values for several other ASN.1 types, such as BIT STRING, CHOICE, ENUMERATED, OID-IRI, Relative-OID, Relative-OID-IRI, REAL, Recursive types, Time types, and unrestricted character string types.


The current version of ASN.1 Studio saves all newly created test messages in one file. The next release will support saving such messages in separate files.


All of our ASN.1 Tools include ASN.1 Studio. Download a trial version of the OSS ASN.1 Tools and learn more about the test message generation feature by reviewing the “How do I create one or more encoded messages” section of the ASN.1 Studio Help screen. If you have any questions about the test message feature or ASN.1 Studio, please contact us at support@oss.com.


Monday, October 12, 2020

RTOED Runtime Library

With the release of ASN.1/C Tools 11.0 and ASN.1/C++ Tools 7.0, OSS introduces a new runtime library – RTOED (Read-only function pointers TOED). It is an enhanced version of TOED, OSS’ high performance, time-optimized runtime library.

RTOED includes several new features:

• The few function pointers used in RTOED are declared as static const. When RTOED code is compiled, the C compiler will place the function pointers in your program’s read-only memory, thereby preventing them from being maliciously overwritten to alter the control flow.

• The RTOED, TOED, SOED, and LED runtime libraries all now employ an improved stack protection mechanism to handle error conditions.

• If supported by your platform, ASN.1/C TOED and RTOED can be built using secured C runtime functions as specified in Annex K of the ISO/IEC 9899 standard, Information technology — Programming languages — C. This feature will be available in ASN.1/C++ TOED and RTOED in the next release, available 1Q2021.

RTOED static runtime libraries are now included in OSS’ ASN.1/C and ASN.1/C++ Tools. Existing TOED customers can easily upgrade to RTOED. In most cases (see RTOED limitations), you won’t need to change your application code; just recompile your ASN.1 specification with the -rtoed ASN.1 compiler option and re-link with the new RTOED library.

ASN.1 Studio, our state-of-the-art ASN.1 IDE, includes a powerful feature that offers easy configuration; within seconds you can generate thousands of different test messages. This is work that, if performed manually, would be error prone and take days or weeks to complete.