Выпуск криптографической библиотеки wolfSSL 5.1.0

Подготовлен выпуск компактной криптографической библиотеки wolfSSL 5.1.0, оптимизированной для использования на встраиваемых устройствах с ограниченными ресурсами процессора и памяти, таких как устройства интернета вещей, системы умного дома, автомобильные информационные системы, маршрутизаторы и мобильные телефоны. Код написан на языке Си и распространяется под лицензией GPLv2.

Библиотека предоставляет высокопроизводительные реализации современных криптоалгоритмов, включая ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 и DTLS 1.2, которые по заявлению разработчиков в 20 раз компактнее, чем реализации из OpenSSL. Предоставляется как свой упрощённый API, так и прослойка для совместимости с API OpenSSL. Имеется поддержка OCSP (Online Certificate Status Protocol) и CRL (Certificate Revocation List) для проверки отзыва сертификатов.

Основные новшества wolfSSL 5.1.0:

  • Добавлена поддержка платформ: NXP SE050 (с поддержкой Curve25519) и
    Renesas RA6M4. Для Renesas RX65N/RX72N добавлена поддержка TSIP 1.14 (Trusted Secure IP).
  • Добавлена возможность использования алгоритмов постквантовой криптографии в порте для http-сервера Apache. Для TLS 1.3 реализована схема цифровых подписей NIST round 3 FALCON. Добавлены тесты cURL, собранного с wolfSSL в режиме применения криптоалгортимов, стойкий к подбору на квантовом компьютере.
  • В прослойку для обеспечения совместимости с другими библиотеками и приложениями добавлена поддержка NGINX 1.21.4 и Apache httpd 2.4.51.
  • В код для совместимости с OpenSSL добавлена поддержка флага SSL_OP_NO_TLSv1_2 и функций SSL_CTX_get_max_early_data, SSL_CTX_set_max_early_data, SSL_set_max_early_data, SSL_get_max_early_data, SSL_CTX_clear_mode, SSL_CONF_cmd_value_type, SSL_read_early_data, SSL_write_early_data.
  • Добавлена возможность регистрации callback-функции для замены встроенной реализации алгоритма AES-CCM.
  • Добавлен макрос WOLFSSL_CUSTOM_OID для генерации собственных OID для CSR (certificate signing request).
  • Добавлена поддержка детерминированных подписей ECC, включаемая максросом FSSL_ECDSA_DETERMINISTIC_K_VARIANT.
  • Добавлены новые функции wc_GetPubKeyDerFromCert, wc_InitDecodedCert, wc_ParseCert и wc_FreeDecodedCert.
  • Устранены две уязвимости, которым присвоен низкий уровень опасности. Первая уязвимость позволяет осуществить DoS-атаку на клиентское приложение в ходе MITM-атаки на соединение TLS 1.2. Вторая уязвимость связана с возможностью получения контроля над возобновлением сеанса клиента при использовании прокси на базе wolfSSL или соединений, не проверяющих всю цепочку доверия у серверного сертификата.
Release. Ссылка here.