The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Утечка исходных текстов браузера Opera 12.15"
Отправлено mag, 30-Янв-17 16:19 
Напишу и я чуток про SSL.
Впилить ECC "с наскока" не получилось, т.к. Opera не использует функции OpenSSL для работы с TLS, а делает "закат солнца вручную".
В итоге пришлось разбираться, как это всё работает.

Моё впечатление как неспециалиста в C/C++ - код довольно запутанный, впрочем чего и следовало ожидать. Периодически попадаются magic numbers что как-бы не сильно хорошо.

libssl отвечает за, собственно, обработку SSL - хранение ключей, handshake, ...
libopeay - это патченый OpenSSL. Тут довольно интересно. Во-первых, OpenSSL написан на C, а тут он компилируется как C++, что приводит к необходимости добавления приведения типов местами + есть ещё патчи по преобразованию глобальных переменных в функции. Ещё - часть функций/структур заiddefлены, соответственно компилируется только нужная часть библиотеки. Это и уменьшает итоговый размер, ну и уменьшает количество патчей :)
ECC, кстати, видно что начинали впиливать - т.к. часть кода уже патчена. Но - всё выключено.

Чтение/запись данных организовано через модуль datastream, и работает примерно так - мы готовим структуры данных, можно вложенные. И дальше просто читаем/пишем их из/в поток. Если что-то не так - выдаем ошибку. Есть неплохое логирование в самом модуле, помогает в отладке.

Текущее состояние: ECC, ECDH, ECDSA в OpenSSL допатчены и включены в компиляцию. Дальше работаю понемногу над libssl - уже, по крайней мере, добился того что серверные параметры ECDH корректно читаются. Заодно вообще разбираюсь что такое ECDH и как оно работает :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру