The ASN.1 subproject attempts to isolate the ASN.1 libraries and tools
for encoding ASN.1 in BER/DER/CER/PER encodings. The LDAP and X.500
aspects of the directory project impose the need for ASN.1 and BER
codecs. Kerberos requires DER. Rather than implement highly
specific and britle code for these needs we decided to separate out
the APIs and implementations used for dealing with ASN.1 codecs for any
ASN.1 defined protocol.
API for stackable stateful encoders and decoders. Such codec interfaces
allow for the efficient processing of data as it is made available while
maintaining small actively processing footprints. Of course these aspects
depend on the implementation as well however this API standardizes the
minimum set of interfaces associated with codec's that are stateful.
Until this API is added to the commons-codec project several interfaces
and classes here are duplicated to minimize the number of dependencies:
namely a dependency on commons-codec will be avoided.
API containing functionality used for encoding and decoding DER
streams in blocking mode. This is stepping-stone code meant to
facilitate the migration of Kerberos, which was developed outside of
the ASF, to the Apache Directory project's ASN.1 Runtime.