Q: Your compiler supplies a der_encode() procedure. How do I encode BER? A: The DER (and CER) are stricter subsets of a more generic BER encoding method. If you encode data with DER or CER, all BER-conformant decoders will easily understand that. Hence, to encode data in the BER format, simply use the DER encoder, der_encode(). See also: ISO/IEC 8825-1 / X.690: "ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)" Q: I've tried doing ./asn1c/asn1c -P examples/*PKIX*93*, but compiler spits several fatal failures and exits. A: The old (RFC2459) PKIX1 specifications used ASN.1 Information Object Classes, which is arguably one of the most complex ASN.1 concepts. The asn1c parser and fixer subsystems currently understand most of IOC syntax, but the compiler can cope with only the very basic IOC semantics. The goal of asn1c is to adequately support the practically necessary subset of IOCs to compile PKIX1 and other real-world specs, but this milestone isn't yet reached. Please contact me in case you have special requirements, we can work it out. However, the asn1c compiler is able to understand the newer PKIX1 ASN.1 specs, contained in RFC3280, which obsole RFC2459. Try this one out instead: cd ./examples/sample.source.PKIX1 make ./x509dump -h -- Lev Walkin vlm@lionet.info