Canonical encoding rules (CER) are a restricted variant of basic encoding rules for producing unequivocal transfer syntax for data structures described by ASN.1.

Whereas BER gives choices as to how data values may be encoded, CER and DER select just one encoding from those allowed by the basic encoding rules, eliminating all of the options. They are useful when the encodings must be preserved, e.g. in security exchanges.

CER and DER differ in the set of restrictions that they place on the encoder. The basic difference between CER and DER is that DER uses definitive length form and CER uses indefinite length form.

Documents: ITU-T X.690, ISO 8825-1.

See also packed encoding rules.


This article was originally based on material from FOLDOC, used with permission. Update as needed.