From 1a696ac6c369da1e70a15ba52006f05012934df6 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 12 Apr 2020 12:00:22 +0300 Subject: [PATCH] =?utf8?q?=D0=95=D1=89=D1=91=20=D0=B1=D0=BE=D0=BB=D1=8C?= =?utf8?q?=D1=88=D0=B5=20=D0=BD=D0=B5=20=D0=BD=D1=80=D0=B0=D0=B2=D0=B8?= =?utf8?q?=D1=82=D1=81=D1=8F=20OpenSSL?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Понадобилось мне тут поработать с ASN.1. Но на низком уровне: декодировать тэг, длину по отдельности. Нашёл для этого функу в OpenSSL у которой вообще нет документации, и названия переменных такие, что мне реально нужно интерпретировать в голове по сути весь её код чтобы понять что же это там всё такое. Нашёл похожие функи в libtasn1. Небо и земля! Буквально полная противоположность и по качеству кода, и по его документированности и по проверкам на переполнение и по хотя бы наличию в нормальном вменяемом виде документации. А OpenSSL код... создаётся впечатление что его буквально говнякали на коленке за пять минут. Более того, отпарсить тэг в котором 16-битный номер зашит OpenSSL не смог. Просто возвращает ошибку и всё тут. libtasn1 -- без проблем. -- 2.48.1