Разработчики проекта OpenBSD недавно объявили о выпуске портативной версии пакета. «FreeSSL 3.8.0», версия, в которую внесено несколько изменений и улучшений, направленных на стабильность и совместимость.
Для тех, кто не знает о LibreSSL, вы должны знать, что это является реализацией с открытым исходным кодом протокола TLS разрабатывает форк OpenSSL предназначены для обеспечения более высокого уровня безопасности. Первоначально LibreSSL разрабатывался как предполагаемая замена OpenSSL на OpenBSD и был перенесен на другие платформы после стабилизации урезанной версии библиотеки.
Проект LibreSSL фокусируется на высококачественной поддержке протоколов SSL/TLS за счет удаления ненужных функций, добавления дополнительных функций безопасности, а также значительной очистки и переработки кодовой базы.
Основные новые функции LibreSSL 3.8.0
LibreSSL версии 3.8.0 считается экспериментальной версией который разрабатывает функции, которые будут включены в OpenBSD 7.4. При этом были сформированы стабильные версии LibreSSL 3.6.3 и 3.7.3, в которых были исправлены различные ошибки.
В этой новой версии LibreSSL 3.8.0 подчеркивается, что улучшена совместимость endian.h с макросами hto* и *toh, В дополнение к добавлению поддержка SHA-2 и SHA-3 усечен, и начался процесс очистки и переработки внутреннего кода SHA.
Еще одним заметным изменением являются переписанные внутренние функции BN_exp() и BN_copy(), а также замена реализации функции BN_mod_sqrt().
В дополнение к этому также подчеркивается, что добавлены инструкции ассемблер для архитектуры AMD64 использует инструкции endbr64 (Завершить косвенную ветвь).
Также отмечается, что было добавлено исправление непродуманного изменения в OpenSSL 3, нарушавшего поддержку разделения привилегий в libtls, Кроме того, код BoringSSL был портирован для проверки правил, определенных в RFC 5280, а перевод libcrypto продолжает использовать интерфейсы CBB (bytebuilder) и CBS (bytestring).
С другой стороны, подчеркивается, что код проверки политики BoringSSL RFC 5280 был импортирован и использован.
для замены старого экспоненциального тайм-кода, в дополнение к удалению поддержки GF2m:BIGNUM, поскольку он не поддерживает двоичное расширение, удаляя большинство общедоступных символов, которые устарели в OpenSSL 0.9.8.
Из других изменений которые выделяются из этой новой версии:
- Удален общедоступный API X9.31 (RSA_X931_PADDING по-прежнему доступен).
- Убран режим кражи зашифрованного текста.
- Удалена поддержка SXNET и NETSCAPE_CERT_SEQUENCE, включая
Команда openssl(1) nseq. - Поддержка удаленного прокси-сертификата (RFC 3820).
- POLICY_TREE и связанные с ним структуры и API были удалены.
- Исправлена ошибка проверки i2d_ECDSA_SIG() в ossl_ecdsa_sign().
- Исправлено обнаружение расширенных операций (XOP) на оборудовании AMD.
- Исправлена обработка ошибок в tls_check_common_name().
- Добавлена аннулирование отсутствующего указателя в SSL_free().
- Исправлены X509err() и X509V3err() и их внутренние версии.
- Значительно улучшено тестовое покрытие BN_mod_sqrt() и GCD.
- Как всегда, новое тестовое покрытие добавляется по мере исправления ошибок и подсистем.
они очищаются.
Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.
Как установить новую версию LibreSSL?
Тем, кто заинтересован в возможности установки этой новой версии, следует знать, что на данный момент она недоступна для большинства дистрибутивов Linux, поэтому доступная в настоящее время установка собрал пакет самостоятельно.
Но не волнуйтесь, сборка LibreSSL Это очень просто и для этого вам нужно только открыть терминал и выполните следующие команды (у вас должны быть следующие зависимости automake, autoconf, git, libtool, perl и git).
Первым делом нужно получить исходный код, что вы можете сделать с помощью этой команды:
git-клон https://github.com/libressl/portable.git
Как только это будет сделано, теперь мы собираемся подготовить способ выполнения компиляции, для этого мы входим в папку, содержащую исходный код LibreSSL, и набираем:
портативный компакт-диск ./autogen.sh ./dist.sh
Как только это будет сделано, мы приступаем к компиляции:
./configure сделать проверку сделать установить
Или, если вы предпочитаете делать это с помощью CMake:
mkdir build cd build cmake .. make make test