OpenSSL 4.0.0-alpha1 release announcement

1 view
Skip to first unread message

OpenSSL Announce

unread,
Mar 10, 2026, 11:31:21 AMMar 10
to openssl-...@openssl.org

OpenSSL 4.0 Alpha Release

The OpenSSL Project is pleased to announce the release of OpenSSL 4.0 Alpha, a pre-release that adds significant new functionality to the OpenSSL Library.

This release incorporates the following potentially significant or incompatible
changes:

  • Removed extra leading '00:' when printing key data such as an RSA modulus in hexadecimal format where the first (most significant) byte is >= 0x80.
  • Standardized the width of hexadecimal dumps to 24 bytes for signatures (to stay within the 80 characters limit) and 16 bytes for everything else.
  • Lower bounds checks are now enforced when using PKCS5_PBKDF2_HMAC API with FIPS provider.
  • Added AKID verification checks when X509_V_FLAG_X509_STRICT is set.
  • Augmented CRL verification process with several additional checks.
  • libcrypto no longer cleans up globally allocated data via atexit().
  • OPENSSL_cleanup() now runs in a global destructor, or not at all by default.
  • ASN1_STRING has been made opaque.
  • Signatures of numerous API functions, including those that are related to X509 processing, are changed to include const qualifiers for argument and return types, where suitable.
  • Deprecated X509_cmp_time(), X509_cmp_current_time(), and X509_cmp_timeframe() in favor of X509_check_certificate_times().
  • Removed support for the SSLv2 Client Hello.
  • Removed support for SSLv3. SSLv3 has been deprecated since 2015, and OpenSSL had it disabled by default since version 1.1.0 (2016).
  • Removed support for engines. The no-engine build option and the OPENSSL_NO_ENGINE macro are always present.
  • Support of deprecated elliptic curves in TLS according to RFC 8422 was disabled at compile-time by default. To enable it, use the enable-tls-deprecated-ec configuration option.
  • Removed c_rehash script tool. Use openssl rehash instead.
  • Removed the deprecated msie-hack option from the openssl ca command.
  • Removed BIO_f_reliable() implementation without replacement. It was broken since 3.0 release without any complaints.
  • Removed deprecated functions ERR_get_state()ERR_remove_state() and ERR_remove_thread_state(). The ERR_STATE object is now always opaque.
  • Dropped darwin-i386{,-cc} and darwin-ppc{,64}{,-cc} targets
    from Configurations.

This release adds the following new features:

  • Support for Encrypted Client Hello (ECH, RFC 9849). See doc/designs/ech-api.md for details.
  • Support for RFC 8998, signature algorithm sm2sig_sm3, key exchange group curveSM2, and [tls-hybrid-sm2-mlkem] post-quantum group curveSM2MLKEM768.
  • cSHAKE function support as per SP 800-185.
  • "ML-DSA-MU" digest algorithm support.
  • Support for SNMP KDF and SRTP KDF.
  • FIPS self tests can now be deferred and run as needed when installing
    the FIPS module with the -defer_tests option of the openssl fipsinstall command.
  • Support for using either static or dynamic VC runtime linkage on Windows.
  • Support for negotiated FFDHE key exchange in TLS 1.2 in accordance with RFC 7919.

You can download the Alpha release from our download page or from the GitHub release page

OpenSSL Corporation, Inc. 40 East Main Street, Newark,
New Castle County, 19711, USA
Reply all
Reply to author
Forward
0 new messages