Что: bbf650971fc4185029908ba62abb0582fda0a59b
Когда: 2020-12-18 16:02:49+03:00
Темы: crypto go hate
OpenSSL -lssl библиотека Копаюсь тут, кое чего добавляя, в -lssl. Прежде я только -lcrypto трогал (1a696ac6c369da1e70a15ba52006f05012934df6). Не могу сдерживаться, но это сущее адовое говно! Это Вавилонская башня из костылей. Новые алгоритмы не просто так добавляются через всякие EVP_* -- нужно ещё и в десятках других местах библиотеки обмазать знаниями о новом алгоритме (и речь не про его согласование, не про id-шники, а про конкретные криптографические действия). Весь TLS в нём это просто нагромождение if-ов друг друга погоняющих. Я видел устройство crypto/tls в Go. Да, там TLS 1.3 и всё остальное сильно разделены и не много где пересекаются -- можно сказать что две независимых реализации. Но и одна и другая довольно аккуратно и просто расширяются новыми алгоритмами (например). Все эти EVP_CIPHER в -lssl являются же типа интерфейсами, идея то здравая. Но только вот почему толку от неё никакого и всё равно весь код покрыт слоем if такой-то алгоритм, то делаем вот так, ибо потроха реализации этого алгоритма таковы.
Сгенерирован: SGBlog 0.34.0