ASN.1 for java defines interfaces and implementations of all common ASN.1 datatypes and supports encoding and decoding of ASN.1 datastreams.