Po pięciu miesiącach prac powstała wersja biblioteki OpenSSL 3.3.0, która implementuje protokoły SSL/TLS oraz różne algorytmy szyfrowania. Wsparcie dla OpenSSL 3.3 będzie dostępne do kwietnia 2026 roku. Wsparcie dla poprzednich wersji OpenSSL 3.2, 3.1 i 3.0 LTS będzie trwało do listopada 2025 roku, marca 2025 roku oraz września 2026 roku. Kod projektu jest udostępniany na licencji Apache 2.0.
Główne nowości OpenSSL 3.3.0:
- Kontynuacja integracji wsparcia dla protokołu QUIC (RFC 9000), stanowiącego nadbudowę nad protokołem UDP, wykorzystywaną jako transport w protokole HTTP/3. W nowym wydaniu:
- Dodano wsparcie dla śledzenia połączeń QUIC za pomocą prowadzenia dziennika diagnostycznego w formacie qlog.
- Dodano wsparcie dla pollingu w nieblokującym trybie połączeń QUIC oraz obiektów strumieniowych.
- Zrealizowano możliwość zoptymalizowanej generacji ramek zakończenia strumienia dla połączeń QUIC.
- Zaproponowano możliwość wyłączenia przetwarzania zdarzeń QUIC przy wywołaniach API.
- Dodano wsparcie dla konfigurowania limitu czasowego nieaktywności dla QUIC.
- Dodano API do żądania rozmiaru i stopnia zapełnienia bufora zapisu dla strumieni QUIC.
- Zrealizowano rozszerzenia protokołu zarządzania certyfikatami CMP (Certificate Management Protocol) zdefiniowane w specyfikacjach RFC 9480 (określenie protokołu CMPv3) oraz RFC 9483 (lekki profil dla osłabionych urządzeń).
- Dodano możliwość wyłączenia podczas kompilacji użycia funkcji atexit.
- Dodano wariant API SSL_SESSION, wolny od problemu roku 2038: dodano funkcje SSL_SESSION_get_time_ex() oraz SSL_SESSION_set_time_ex(), wykorzystujące 64-bitowe typy time_t na systemach 32-bitowych.
- W funkcji EVP_PKEY_fromdata zrealizowano możliwość automatycznego uzyskania parametrów chińskiego twierdzenia o resztach (CRT, Chinese Remainder Theorem).
- Dodano możliwość ignorowania nieznanych nazw algorytmów podpisu definiowanych w parametrach konfiguracyjnych TLS SignatureAlgorithms oraz ClientSignatureAlgorithms.
- Dodano możliwość konfigurowania priorytetowego użycia kluczy PSK na serwerze TLS 1.3 podczas odzyskiwania sesji.
- Dodano funkcję EVP_DigestSqueeze(), umożliwiającą skracanie rozmiaru hasza SHAKE (usuwanie wyższych bitów) za pomocą kilku iteracji z różnymi rozmiarami wyjściowymi.
- Dodano wsparcie dla eksportu plików budowlanych dla CMake na systemach uniksopodobnych i Windows (oprócz eksportu opartego na pkg-config).
- Wprowadzono optymalizacje wydajności: zoptymalizowano działanie algorytmu AES-GCM na urządzeniach z chipami Microsoft Azure Cobalt 100. W implementacji AES-CTR dodano wsparcie dla przyspieszenia za pomocą rozszerzeń ARM Neoverse V1 i V2. Włączono optymalizacje AES i SHA3 dla systemów Apple z chipami M3. W różnych funkcjach kryptograficznych wykorzystano wektorowe rozszerzenia RISC-V. Dodano implementację asm md5 dla CPU Loongarch64.
Źródło: opennet.ru
