]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
OpenSSL -lssl библиотека
authorSergey Matveev <stargrave@stargrave.org>
Fri, 18 Dec 2020 13:02:49 +0000 (16:02 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 18 Dec 2020 13:02:49 +0000 (16:02 +0300)
Копаюсь тут, кое чего добавляя, в -lssl. Прежде я только -lcrypto трогал
(1a696ac6c369da1e70a15ba52006f05012934df6). Не могу сдерживаться, но это
сущее адовое говно! Это Вавилонская башня из костылей. Новые алгоритмы
не просто так добавляются через всякие EVP_* -- нужно ещё и в десятках
других местах библиотеки обмазать знаниями о новом алгоритме (и речь не
про его согласование, не про id-шники, а про конкретные криптографические
действия). Весь TLS в нём это просто нагромождение if-ов друг друга
погоняющих.

Я видел устройство crypto/tls в Go. Да, там TLS 1.3 и всё остальное
сильно разделены и не много где пересекаются -- можно сказать что две
независимых реализации. Но и одна и другая довольно аккуратно и просто
расширяются новыми алгоритмами (например). Все эти EVP_CIPHER в -lssl
являются же типа интерфейсами, идея то здравая. Но только вот почему
толку от неё никакого и всё равно весь код покрыт слоем if такой-то
алгоритм, то делаем вот так, ибо потроха реализации этого алгоритма
таковы.


No differences found