
This directory contains a examples of ASN.1 converters.

1. The ./sample.source.PKIX1 directory contains the X.509 Certificate decoder.

2. The ./sample.source.TAP3 directory contains the GSM TAP3 decoder.
   Before trying to compile, read the README file in that directory.

3. The ./sample.source.MHEG5 directory contains the decoder for
   ISO 13522 MHEG-5/ITU-T T.172 (Multimedia Hypermedia Experts Group,
   Multimedia Presentations). Read the README file in that directory.

The crfc2asn1.pl script can be used to extract ASN.1 data from RFC texts.
For instance, it is used to extract X.509 ASN.1 modules from PKIX1 RFCs.
To regenerate the .asn1 files from the original RFC texts, do `rm *.asn1; make`.

The clyx2asn1.pl script can be used to extract ASN.1 data from LyX editor files.

