Понадобилось мне тут поработать с ASN.1. Но на низком уровне:
декодировать тэг, длину по отдельности. Нашёл для этого функу в OpenSSL
у которой вообще нет документации, и названия переменных такие, что мне
реально нужно интерпретировать в голове по сути весь её код чтобы понять
что же это там всё такое. Нашёл похожие функи в libtasn1. Небо и земля!
Буквально полная противоположность и по качеству кода, и по его
документированности и по проверкам на переполнение и по хотя бы наличию
в нормальном вменяемом виде документации. А OpenSSL код... создаётся
впечатление что его буквально говнякали на коленке за пять минут.
Более того, отпарсить тэг в котором 16-битный номер зашит OpenSSL не
смог. Просто возвращает ошибку и всё тут. libtasn1 -- без проблем.