My score so far is:
- libtasn asn1Parser - checks my schema OK
- libtasn asn1Decoder - complains about 'DER error' without telling me where in my input it got upset (and anyway I want BER)
[that is when I ran it with a ulimit to stop it using 13GB of RAM]
- asn1c - checks my schema ok, the C code it produces doesn't compile
- unber - reads my BER happily and displays it, but since it won't read a schema it can't name my types nor check that my BER follows the schema.
- openssl's asn1parse - as unber
- pyasn1 - needs it's own special schema format which can be generated by....
- asnlate - which doesn't like my schema that asn1c and asn1Parser are happy with.
I think I'm understanding why JSON & XML happened.