Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Since INTEGER types are automatically mapped to int, which is a 32-bit integer type, INTEGERs that are longer than 4 bytes cause decoding errors. This can be avoided by using the bigint type in place instead of INTEGER. The only difference between bigint and INTEGER is that bigint is automatically mapped to the bigint type, which can support INTEGERs of any size.

...

Option

Effect

CER_length

When encoding to BER, use the indefinite length encoding instead of definite length encoding (which is default)

ignore_unknown_tags

When decoding BER data, the presence of unknown tags are will no longer be considered as decoding errors. Instead , they are will simply be ignored instead.

PER_aligned

Instead of BER, use PER ALIGNED encoding

PER_unaligned

Instead of BER, use PER UNALIGNED encoding

...

In addition to the general ASN.1 limitations there are also some limitations regarding BER that must be taken in into consideration:

  • Explicit tags are not supported - All tags are by default implicit (except for tags of CHOICE types, which are always assumed to be explicit according to the ASN.1 standard). Any attempt to specify explicit tagging will result in a compilation error.

  • All string fields are encoded/decoded according to ISO8859-1 except for UTF8String.

  • No validation to ensure that mandatory fields are actually present is performed for SEQUENCE and SET types.

  • Not all character types are supported. However, GraphicalString, IA5String, VisibleString, NumericString, and UTF8String are supported.

...