CODEC is a Java package for encoding and decoding ASN.1 data structures which was developed as part of the SeMoA project. It is as SeMoA distributed as open source.
"CODEC" is an abbreviation for COder/DECoder. It supports the Basic Encoding Rules (BER) as well as the Distinguished Encoding Rules (DER).
Within CODEC there are following packages corresponding to the data types defined by the Public Key Cryptography family of Standards:
PKCS1: RSA Encryption Standard
PKCS7: Cryptographic Message Syntax Standard
PKCS8: Private-Key Information Syntax Standard
PKCS10: Certification Request Syntax Standard
PKCS12: Personal Information Exchange Syntax Standard
In addition, CODEC contains two packages according to the X.500 recommendation series of the International Telecommunication Union:
X.501: Directory-Model and
X.509: Directory-Authentication Framework.
CODEC includes classes to encode and decode according to Base64 and hexadecimal.
The CODEC tutorial gives an overview of CODEC and explains how to use CODEC to encode and/or decode ASN.1 structures with CODEC.
CODEC was developed and is maintained in collaboration with the Technische Universität
The Java crypto-provider FlexiProvider which is developed at the TU Darmstadt
uses the CODEC ASN.1 package.