![]() |
Home | Libraries | People | FAQ | More |
The primary design decision I made while creating this library was based on the idea that ASN1 objects should be interchangeable with native C++ types and structures. Many of the C and C++ ASN1 libraries that I've worked with require some kind of conversion to use data. This can get quite cumbersome when you need to constantly get/set data, especially when you need to use the data in a trivial manner.
Along these similar lines, working with structures should be just as easy. SEQUENCE's define a structure in pretty much the same manner as C/C++ does. So, rather than deal with get/set of structural elements, I decided to use a C/C++ interface that exposes a natural structure to the user. The one caveat is that elements in the structure must be Boost.ASN1 objects. Since Boost.ASN1 objects mimic native C++ types, this is a trivial matter.
The second design decision I made was to use the STL iostreams for all data conversions. Some may balk at the, however, I've found that iostreams work well for the majority of the work I do. If there are other ideas, I'd be glad to incorporate them into the project.
The one library that I found (III ASN.1 Tool) that does something like what I wanted, I couldn't get to compile.
| Copyright © 2007 Andreas Haberstroh |