от DeepUltramarine(14-04-2026)

Днес - 14 април 2026 - излезе OpenSSL 4.0.
Версията идва с важни нови функции, подобрения в сигурността и производителността, но също така има и доста премахвания на остарели неща. Като продължение на почистването, започнато в OpenSSL 3.0.

Какви са по-важните нови функции?

  • Encrypted Client Hello (ECH) поддръжка според RFC 9849.
    Важно подобрение за поверителност в TLS.
    Позволява криптиране на Client Hello съобщението още в началото на handshake-а, така че Server Name Indication (SNI) (т.е. името на сайта, към който се свързвате) да не се вижда в прав текст.
    Това се явява наследник на стария ESNI и помага срещу цензура, проследяване и пасивно наблюдение това, кой сайт посещавате.
  • NMP KDF и SRTP KDF
    Добавена е поддръжка за Key Derivation Functions, използвани в SNMP (мрежово управление) и SRTP (защитен RTP за VoIP/видео).
  • Добавени са китайски алгоритми, разработени и одобрени от Държавната криптографска администрация на Китай и post-quantum криптографски алгоритми.
    Версия 4.0 осигурява поддръжка на signature алгоритъм sm2sig_sm3 (RFC 8998), Key exchange curveSM2 и Hybrid post-quantum curveSM2MLKEM768 (tls-hybrid-sm2-mlkem) — комбинация от класически SM2 и post-quantum ML-KEM.
  • Също така, осигурена е поддръжка на cSHAKE функция (SP 800-185). Добавен е нов digest алгоритъм "ML-DSA-MU".
  • Поддръжка на negotiated FFDHE key exchange в TLS 1.2 (RFC 7919).
  • По-добри проверки при верификация на сертификати (AKID, augmented CRL verification).
  • FIPS модулът вече позволява отлагане на self-tests с опция -defer_tests.
  • Някои промени при API и подобрения в производителността:
  • BIO_snprintf() вече използва стандартния snprintf() от libc - подобрение в бързината.
  • Премахнато е глобалното почистване чрез atexit() в libcrypto.
  • Много API функции са направени opaque или с добавени const квалификатори. ASN1_STRING вече е opaque.
  • Какво е премахнато (важно за разработчици)?

    Напълно премахнати са:
  • SSLv2 Client Hello и SSLv3 (отдавна deprecated).
  • Поддръжката за engines (старият начин за hardware acceleration).
  • Стари конфигурационни target-и за macOS (darwin-i386, ppc и т.н.).
  • Скриптът c_rehash (заменен от openssl rehash).
  • Някои неработещи или остарели BIO и EVP методи.
  • Тагнати като Deprecated:
  • Поддръжка на стари elliptic curves в TLS (RFC 8422) – по подразбиране се изключва при компилация.
  • Някои функции за сравнение на време в X509 сертификати.
  • Custom EVP_CIPHER, EVP_MD, EVP_PKEY методи (вече не се препоръчват).

  • При печатане на ключове (hex dump) е премахнат допълнителният '00:' отпред в някои случаи и е стандартизирана ширината на dump-овете.

    OpenSSL 4.0 има промени, които са несъвместими, особено ако ползвате стари deprecated API-та или engines. Затова официално се препоръчва да инсталирате версията от пакетите на вашата Linux дистрибуция (когато я обновят), вместо да компилирате ръчно, за да се избегнат проблеми със съвместимостта на приложенията.

    Ако разработвате софтуер, който зависи от OpenSSL, прегледайте внимателно migration упътването и release notes на GitHub.

    doc/designs/ech-api.md в сорс кода.

    Обобщение на промените на: https://github.com/openssl/openssl/blob/master/NEWS.md

    Подробен changelog: https://github.com/openssl/openssl/blob/master/CHANGES.md

    Ако искате да видите точно какво се е променило от OpenSSL 3.6 към 4.0, най-добре отворете NEWS.md и релиз тага на GitHub (първият линк, който пуснах тук

    Източник: https://9to5linux.com/openssl-4-0-released-with-support-for-encrypted-client-hello-snmp-kdf-and-more


    << Nginx 1.30.0 бе пусната днес | KDE - виртуални десктопи за всеки екран >>