JBoss.orgCommunity Documentation
Abstract Syntax Notation One (ASN.1) is the standard for describing data structures in telecommunication and computer networking world. ASN.1 provides a set of formal rules for describing the structure of objects. The specification describes abstract objects that are independent of machine-specific encoding techniques.
ASN defined data can be encoded using one of these encoding rules:
Basic Encoding Rules (BER)
Canonical Encoding Rules (CER)
Distinguished Encoding Rules (DER)
XML Encoding Rules (XER)
Packed Encoding Rules (PER)
Generic String Encoding Rules (GSER)
ASN.1, together with specific ASN.1 encoding rules, facilitates the exchange of structured data between application programs over networks by describing data structures in a way that is independent of machine architecture and implementation language.
ASN encoded data looks logically as follows:
Encoded data structure contains three elements:
Unique value, which identifies the type of data.
Tag carries some additional info (such as the complexity and context indicators). The actual Tag value is unique for a single ASN definition (aside from some basic tag values which are defined in the ASN specification).
Indicates the length of the current data structure.
Depending on the definition, this can be a simple value (like an integer), or it can carry another ASN encoded data structure.