Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.1.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Из особенностей LibreSSL можно отметить ориентацию на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Выпуск включает в себя изменения, подготовленные после заморозки кодовой базы нативной редакции LibreSSL для OpenBSD, которая будет представлена 1 ноября в составе OpenBSD 5.6. Наработки LibreSSL 2.1 войдут в состав ветки OpenBSD 5.7.
Из улучшений можно отметить:
- добавление функции SSL_CTX_use_certificate_chain() для загрузки данных сертификата из памяти, а не из файла;
- устранение утечек памяти; замена использования strdup() на strndup();
- рефакторинг работы с расширениями ECC;
- добавлен шифр CHACHA20 для симметричного шифрования;
- переработан код для разбора опций;
- добавлена опция для упорядоченной обработки флагов;
- добавлена опция для обработки входных и выходных форматов;
- поддержка в Linux системного вызова getrandom(), появившегося в ядре 3.17;
Выпуск LibreSSL 2.1.0 пока не включает в себя реализацию нового API ressl, который пока развивается отдельно. В рамках API ressl развивается упрощённая замена API OpenSSL, которая предоставляет высокоуровневый интерфейс для организации защищённых соединений, абстрагированный от внутренностей и скрывающий низкоуровневые манипуляции с сертификатами X.509 или ASN.1. Новый API предоставляет встроенные механизмы для верификация имени хоста, который позволяет убедиться, что имя хоста, к которому осуществляется соединение, соответствует имени, указанному в сертификате. При применении API OpenSSL данное сопоставление должно быть выполнено разработчиками приложения, которые часто игнорируют данную проверку или забывают её добавить.