Nach fünf Monaten Entwicklung wurde die Veröffentlichung der OpenSSL-Bibliothek 3.3.0 mit der Implementierung der SSL/TLS-Protokolle und verschiedener Verschlüsselungsalgorithmen abgeschlossen. Der Support für OpenSSL 3.3 wird bis April 2026 sichergestellt. Der Support für frühere Versionen von OpenSSL 3.2, 3.1 und 3.0 LTS wird bis November 2025, März 2025 bzw. September 2026 fortgeführt. Der Projektcode wird unter der Apache 2.0-Lizenz verbreitet.
Hauptneuerungen in OpenSSL 3.3.0:
- Die Integration der Unterstützung für das QUIC-Protokoll (RFC 9000), das eine Erweiterung des UDP-Protokolls darstellt und als Transport in HTTP/3 verwendet wird, wurde fortgesetzt. In der neuen Version:
- Die Unterstützung für die Nachverfolgung von QUIC-Verbindungen wurde durch das Führen eines Diagnoselogs im qlog-Format hinzugefügt.
- Die Unterstützung für das Polling im nicht-blockierenden Modus für QUIC-Verbindungen und Streaming-Objekte wurde hinzugefügt.
- Die Möglichkeit zur optimierten Generierung von End-of-Stream-Frames für QUIC-Verbindungen wurde implementiert.
- Es wurde die Möglichkeit geschaffen, die Verarbeitung von QUIC-Ereignissen bei API-Anfragen zu deaktivieren.
- Die Unterstützung für die Konfiguration eines Inaktivitäts-Timeouts für QUIC wurde hinzugefügt.
- Eine API für die Abfrage der Größe und des Füllstands des Schreibpuffers für QUIC-Streams wurde hinzugefügt.
- Die Erweiterungen des Certificate Management Protocol (CMP), die in den Spezifikationen RFC 9480 (Definition des CMPv3-Protokolls) und RFC 9483 (Leichtgewichtiges Profil für ressourcenbegrenzte Geräte) definiert sind, wurden implementiert.
- Die Möglichkeit, die Nutzung der Funktion atexit während des Build-Prozesses zu deaktivieren, wurde hinzugefügt.
- Eine Variante der API SSL_SESSION wurde hinzugefügt, die nicht von dem Problem des Jahres 2038 betroffen ist: die Funktionen SSL_SESSION_get_time_ex() und SSL_SESSION_set_time_ex() nutzen einen 64-Bit time_t-Typ auf 32-Bit-Systemen.
- In der Funktion EVP_PKEY_fromdata wurde die Möglichkeit zur automatischen Erlangung der Parameter des Chinesischen Restesatzes (CRT, Chinese Remainder Theorem) implementiert.
- Die Möglichkeit, unbekannte Signaturalgorithmen, die in den Konfigurationseinstellungen TLS SignatureAlgorithms und ClientSignatureAlgorithms angegeben sind, zu ignorieren, wurde hinzugefügt.
- Es wurde die Möglichkeit hinzugefügt, die priorisierte Nutzung von PSK-Schlüsseln für Server TLS 1.3 während der Sitzungswiederherstellung einzustellen.
- Die Funktion EVP_DigestSqueeze() wurde hinzugefügt, die es ermöglicht, die Größe des SHAKE-Hashes (Entfernung der höheren Bits) unter Verwendung mehrerer Iterationen mit unterschiedlichen Ausgabebreiteneinstellungen zu reduzieren.
- Unterstützung für den Export von Build-Dateien für CMake unter Unix-ähnlichen Systemen und Windows hinzugefügt (neben dem pkg-config-basierten Export).
- Leistungsoptimierungen: Der AES-GCM-Algorithmus wurde auf Geräten mit Microsoft Azure Cobalt 100-Chips optimiert. Die AES-CTR-Implementierung unterstützt nun die Beschleunigung durch ARM Neoverse V1 und V2-Erweiterungen. AES- und SHA3-Optimierungen wurden für Apple-Systeme mit M3-Chips integriert. In verschiedenen kryptografischen Funktionen werden RISC-V-Vektor-Erweiterungen verwendet. Eine Assembler-Implementierung von md5 für CPUs der Loongarch64-Architektur wurde hinzugefügt.
Quelle: opennet.ru
