Après cinq mois de développement, la sortie de la bibliothèque OpenSSL 3.3.0 a été concrétisée avec la mise en œuvre des protocoles SSL/TLS et de divers algorithmes de chiffrement. OpenSSL 3.3 sera pris en charge jusqu'en avril 2026. La prise en charge des branches précédentes d'OpenSSL 3.2, 3.1 et 3.0 LTS se poursuivra respectivement jusqu'en novembre 2025, mars 2025 et septembre 2026. Le code du projet est distribué sous la licence Apache 2.0.
Principales innovations d'OpenSSL 3.3.0 :
- L'intégration de la prise en charge du protocole QUIC (RFC 9000), qui est un complément au protocole UDP utilisé comme transport dans le protocole HTTP/3, se poursuit. Dans la nouvelle version :
- Ajout de la prise en charge du traçage des connexions QUIC via la journalisation de diagnostic au format qlog.
- Ajout de la prise en charge de l'interrogation en mode non bloquant pour les connexions QUIC et les objets de flux.
- La possibilité d'optimiser la génération de trames de fin de flux pour les connexions QUIC a été implémentée.
- Fourni la possibilité de désactiver le traitement des événements QUIC lors des appels API.
- Ajout de la prise en charge de la configuration du délai d'inactivité pour QUIC.
- Ajout d'une API pour interroger la taille et la plénitude du tampon d'écriture pour les flux QUIC.
- Implémentation d'extensions du protocole de gestion des certificats CMP (Certificate Management Protocol), défini dans les spécifications RFC 9480 (définition du protocole CMPv3) et RFC 9483 (profil léger pour les appareils basse consommation).
- Ajout de la possibilité de désactiver l'utilisation de la fonction atexit au stade de la construction.
- Ajout d'une variante de l'API SSL_SESSION qui n'est pas affectée par le problème 2038 : ajout des fonctions SSL_SESSION_get_time_ex() et SSL_SESSION_set_time_ex() qui utilisent le type time_t 64 bits sur les systèmes 32 bits.
- La fonction EVP_PKEY_fromdata implémente la possibilité d'obtenir automatiquement les paramètres du théorème du reste chinois (CRT, Chinese Remainder Theorem).
- Ajout de la possibilité d'ignorer les noms d'algorithmes de signature inconnus spécifiés dans les paramètres de configuration TLS SignatureAlgorithms et ClientSignatureAlgorithms.
- Ajout de la possibilité de configurer l'utilisation prioritaire des clés PSK sur serveur TLS 1.3 lors de la récupération de session.
- Ajout de la fonction EVP_DigestSqueeze() pour réduire la taille de hachage SHAKE en utilisant plusieurs itérations avec différentes tailles de sortie.
- Ajout de la prise en charge de l'exportation des fichiers de compilation pour CMake sur les systèmes de type Unix et Windows (en plus de l'exportation basée sur pkg-config).
- Des optimisations des performances ont été apportées : le fonctionnement de l'algorithme AES-GCM sur les appareils dotés de puces Microsoft Azure Cobalt 100 a été optimisé. L'implémentation AES-CTR prend désormais en charge l'accélération à l'aide des extensions ARM Neoverse V1 et V2. Activation des optimisations AES et SHA3 pour les systèmes Apple avec puces M3. Diverses fonctions cryptographiques utilisent des extensions vectorielles de RISC-V. Ajout de l'implémentation assembleur de md5 pour le CPU Loongarch64.
Source: opennet.ru
