Los responsables de OpenSSL sacrifican la compatibilidad para garantizar una protección total de los datos.

El proyecto OpenSSL ha publicado una actualización importante, que cambia de forma significativa tanto la arquitectura interna como el conjunto de tecnologías compatibles. La versión 4.0.0 no solo añade nuevas capacidades, sino que también elimina mecanismos obsoletos que durante mucho tiempo se conservaron por compatibilidad.
Los desarrolladores se centraron en mejorar la seguridad y la actualidad de la biblioteca criptográfica. En la nueva versión eliminaron por completo el soporte para SSLv3, que fue declarado obsoleto ya en 2015. También desapareció el soporte para SSLv2 Client Hello y los denominados "engines", a través de los cuales antes se conectaban módulos criptográficos de terceros. Paralelamente, deshabilitaron varias curvas elípticas obsoletas en TLS: solo se pueden restaurar compilando manualmente con parámetros especiales.
Los cambios también afectaron la API. Muchas funciones, especialmente las relacionadas con el tratamiento de certificados X.509, recibieron firmas más precisas con la adición del modificador const. Parte de las funciones antiguas se declararon obsoletas y se propusieron reemplazos. Algunas estructuras internas, como ASN1_STRING, se hicieron completamente ocultas al acceso externo. Los desarrolladores también revisaron el mecanismo de limpieza de datos globales: ahora la biblioteca no depende de atexit, sino que utiliza otro enfoque o directamente no realiza limpieza por defecto.
Al mismo tiempo reforzaron las comprobaciones de seguridad. Por ejemplo, endurecieron el control de parámetros al usar PKCS5_PBKDF2_HMAC en conjunto con el proveedor FIPS, añadieron comprobaciones adicionales al trabajar con certificados y listas de revocación, y además introdujeron la verificación de identificadores de claves en el modo estricto de X.509.
Además, OpenSSL 4.0.0 obtuvo soporte para tecnologías criptográficas modernas. Se añadió a la biblioteca Encrypted Client Hello, que oculta parte de los datos de la conexión TLS frente a observadores, así como algoritmos relacionados con los estándares chinos SM2 y SM3.
Aparecieron también elementos de criptografía postcuántica, incluido el grupo híbrido curveSM2MLKEM768. Además, implementaron funciones cSHAKE, nuevos algoritmos de hash y generación de claves, así como soporte para el intercambio de claves acordado FFDHE en TLS 1.2.
La actualización afectó también a las utilidades. Eliminó el script obsoleto c_rehash, proponiendo usar el comando incorporado openssl rehash. Algunos componentes poco usados o que funcionaban incorrectamente, como BIO_f_reliable, también se excluyeron sin sustitución.
Como resultado, OpenSSL 4.0.0 se volvió notablemente más estricto en seguridad y, al mismo tiempo, orientado a estándares de cifrado modernos. La migración a la nueva versión exigirá a los desarrolladores adaptarse a la API modificada y renunciar a funciones obsoletas, pero a cambio ofrece una base criptográfica más actual y protegida.