Выпуск LibreSSL 2.7.0

Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.7.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Выпуск LibreSSL 2.7.0 рассматривается как экспериментальный, в котором развиваются возможности, которые войдут в состав OpenBSD 6.3.

Особенности LibreSSL 2.7.0:

  • Обеспечена поддержка многих API OpenSSL 1.0.2 и 1.1, которые нашли применение в существующих приложениях. Поддержка новых API не повлияет на работу кода, написанного для старых API, так как старые структуры оставлены в неизменном виде, а новые API реализованы параллельно;
  • Заметно дополнена, улучшена и откорректирована документация на API;
  • В libcrypto, libssl и libtls реализована поддержка автоматической инициализации библиотеки. Для работы на целевых платформах теперь требуется наличие pthread_once или эквивалентной функциональности, в связи с чем прекращена поддержка выпусков Windows до Vista;
  • Очередной набор методов обработки пакетов переведён на использование подсистемы CBB, что положительно повлияло на надёжности при генерации TLS-сообщений;
  • Заверешена переработка кода обработки расширений TLS, улучшено качество выявления некорректных или дублирующихся расширений;
  • Функции ASN1_TYPE_{get, set}_octetstring () переписаны с использованием реализации ASN.1 на базе шаблонов, что позволило избавиться от макросов M_ASN1_*;
  • В libtls добавлена возможность восстановления сеанса на стороне клиента. Клиент на базе libtls теперь может указать файловый дескриптор сеанса и библиотека будет использовать его для чтения и записи сессионных данных при согласовании TLS-соединения;
  • Улучшена поддержка строгого выравнивания на архитектурах ARMv7;
  • Устранена утечка памяти в libtls, проявляющаяся при повторном использовании tls_config.

© OpenNet