Après cinq mois de développement, la version 3.3.0 de la bibliothèque OpenSSL a été publiée, intégrant les protocoles SSL/TLS et divers algorithmes de chiffrement. Le support d'OpenSSL 3.3 sera assuré jusqu'en avril 2026. Le support des anciennes versions OpenSSL 3.2, 3.1 et 3.0 LTS se prolongera jusqu'en novembre 2025, mars 2025 et septembre 2026, respectivement. Le code du projet est distribué sous licence Apache 2.0.
Les principales nouveautés d'OpenSSL 3.3.0 :
- Poursuite de l'intégration du support du protocole QUIC (RFC 9000), utilisé comme une surcouche au protocole UDP pour le transport dans le protocole HTTP/3. Dans cette nouvelle version :
- Ajout du support pour le traçage des connexions QUIC via la journalisation diagnostique au format qlog.
- Ajout du support du polling en mode non-bloquant pour les connexions QUIC et les objets de flux.
- Mise en œuvre de la génération optimisée des trames de fin de flux pour les connexions QUIC.
- Possibilité de désactiver le traitement des événements QUIC lors des appels à l'API.
- Ajout du support pour la configuration du délai d'inactivité pour QUIC.
- Ajout d'une API pour demander la taille et le degré de remplissage du buffer d'écriture pour les flux QUIC.
- Mise en œuvre des extensions du protocole de gestion des certificats CMP (Certificate Management Protocol), définies dans les spécifications RFC 9480 (définition du protocole CMPv3) et RFC 9483 (profil léger pour les appareils à faible puissance).
- Ajout de la possibilité de désactiver l'utilisation de la fonction atexit lors de l'étape de compilation.
- Ajout d'une variante de l'API SSL_SESSION, exemptée du problème de l'année 2038 : ajout des fonctions SSL_SESSION_get_time_ex() et SSL_SESSION_set_time_ex(), utilisant des types de 64 bits pour time_t sur des systèmes 32 bits.
- La fonction EVP_PKEY_fromdata permet maintenant d'obtenir automatiquement les paramètres du théorème chinois des restes (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 le serveur TLS 1.3 lors de la récupération de session.
- Ajout de la fonction EVP_DigestSqueeze(), permettant de réduire la taille du hachage SHAKE (en supprimant les bits les plus significatifs), en utilisant plusieurs itérations avec différentes tailles de sortie.
- Ajout de la prise en charge de l'exportation des fichiers de construction pour CMake sur les systèmes Unix et Windows (en complément de l'exportation basée sur pkg-config).
- Optimisations des performances : Optimisation de l'algorithme AES-GCM sur les appareils équipés de puces Microsoft Azure Cobalt 100. La mise en œuvre de l'AES-CTR a ajouté un support d'accélération utilisant les extensions ARM Neoverse V1 et V2. Optimisations AES et SHA3 incluses pour les systèmes Apple équipés de puces M3. Des extensions vectorielles RISC-V sont utilisées dans diverses fonctions cryptographiques. Ajout d'une implémentation assembleur md5 pour les CPU Loongarch64.
Source : opennet.ru
