OpenSSL si aggiorna nuovamente alla versione 3.4, con novità importanti alle API e altri componenti, mantenendo in alcuni casi la compatibilità con la versione precedente, vale a dire la 3.3.
OpenSSL 3.4: il nuovo aggiornamento nel dettaglio
Tra le principali novità in OpenSSL 3.4 troviamo le funzioni “TS_VERIFY_CTX_set_*” che sono ora state deprecate in favore delle nuove sostituzioni “TS_VERIFY_CTX_set0_*”, per una semantica notevolmente migliorata.
Chi usa il protocollo open source su Windows, noterà anche una riprogettazione dell’utilizzo delle cartelle “OPENSSLDIR”, “ENGINESDIR” e “MODULESDIR”. Queste possono ora essere definite in fase di esecuzione utilizzando le chiavi di registro, invece che come nella precedente configurazione, in fase di compilazione. Tra le altre modifiche ci sono anche aggiornamenti agli algoritmi SHAKE-128 e SHAKE-256, i quali richiedono ora un’impostazione più esplicita per la lunghezza dei loro output, rendendoli al tempo stesso inutilizzabili con “EVP_DigestFinal/_ex()” senza che venga impostato il parametro “xoflen”. Le implementazioni per lo scambio di chiavi X25519 e X448 non risultano ancora approvate nel provider FIPS, motivo per cui sono contrassegnate con la proprietà “fips=no”.
Oltre a ciò, OpenSSL 3.4 depreca anche “SSL_SESSION_get_time()”, “SSL_SESSION_set_time()” e “SSL_CTX_flush_sessions()”, i quali sono ora sostituiti dalle rispettive varianti “_ex”, specificamente pensate per essere sicure con le piattaforme che supportano Y2038. Un’altra modifica riguarda il modo in cui viene gestita la rinegoziazione dei messaggi di benvenuto del client TLS, per le versioni a partire dalla 1.0, usando una rinegoziazione vuota anziché l’SCSV vuoto.
Tra le nuove funzionalità sono ora presenti il supporto agli algoritmi di firma compositi prelevati direttamente, come RSA-SHA2-256, con le corrispondenti nuove API. Vengono anche espansi gli indicatori FIPS nel provider, per futuri requisiti di convalida FIPS 140-3. Viene infine aggiunto il supporto RFC 9579 (PBMAC1) per PKCS#12, mentre la release include una sorgente seed causale opzionale sotto forma di RNG JITTER, abilitata tramite una libreria jitterentropy collegata staticamente.
Il resto dei cambiamenti di OpenSSL 3.4 è elencato nella lista ufficiale.