El proyecto OpenSSL ha lanzado oficialmente la versión 4.0.0, una actualización de gran envergadura que introduce funcionalidades significativas y soporte para nuevos protocolos en esta librería criptográfica de uso generalizado.
Los desarrolladores ya pueden aprovechar el soporte para Encrypted Client Hello (ECH), tal como se define en el RFC 9849. La actualización también implementa el soporte para el RFC 8998, incluyendo el algoritmo de firma sm2sig_sm3 y el grupo de intercambio de claves post-cuánticas curveSM2MLKEM768.
Cambios disruptivos y eliminaciones
Esta versión incluye varios cambios incompatibles que podrían obligar a los desarrolladores a actualizar sus implementaciones actuales. El proyecto ha eliminado el soporte para SSLv2 Client Hello y SSLv3, siendo este último un protocolo que ya había sido marcado como obsoleto desde 2015.
OpenSSL 4.0.0 también elimina el soporte para 'engines', lo que convierte la opción de compilación `no-engine` y la macro `OPENSSL_NO_ENGINE` en elementos permanentes. Por su parte, la herramienta de script `c_rehash` ha sido sustituida por el comando `openssl rehash`.
Entre las otras eliminaciones se encuentran la opción `msie-hack` del comando `openssl ca` y la implementación de `BIO_f_reliable()`. Asimismo, el proyecto ha dejado de dar soporte a objetivos legacy de Darwin, específicamente a las configuraciones `darwin-i3ramos` y `darwin-ppc`.
Las nuevas funciones de la versión 4.0.0 se extienden a una variedad de estándares criptográficos. La librería ahora es compatible con la función cSHAKE, según el estándar NIST SP 800-185, y con el algoritmo de resumen ML-DSA-MU.
Además, la actualización añade soporte para SNMP KDF y SRTP KDF. Para los usuarios de Windows, la versión ahora permite el enlazado de VC runtime tanto de forma estática como dinámica.
Aquellos desarrolladores que trabajen con módulos FIPS ahora podrán utilizar la opción `-defer_tests` durante el proceso de `openssl fipsinstall`, permitiendo ejecutar las autocomprobaciones cuando sea necesario en lugar de hacerlo inmediatamente tras la instalación.