OpenSSL version 4.0.0-alpha1 released

Tomas Mraz <[email protected]> Tue, 10 Mar 2026 16:03:25 +0100
Newsgroups gmane.comp.encryption.openssl.project,gmane.comp.encryption.openssl.user
Message-ID <[email protected]>
OpenSSL version 4.0 alpha 1 released
====================================

 OpenSSL - The Open Source toolkit for SSL/TLS
 https://www.openssl-library.org/

 OpenSSL 4.0 is currently in alpha.

 OpenSSL 4.0 alpha 1 has now been made available.

 Note: This OpenSSL pre-release has been provided for testing ONLY.
 It should NOT be used for security critical purposes.

 The beta release is available for download at:

   * https://github.com/openssl/openssl/releases

 Please download and check this beta release as soon as possible.
 To report a bug, open an issue on GitHub:

   * https://github.com/openssl/openssl/issues


Release notes
=============

OpenSSL 4.0.0-alpha1 is a feature release adding significant new functionality to OpenSSL.

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].

[RFC 7919]: https://datatracker.ietf.org/doc/html/rfc7919
[RFC 8422]: https://datatracker.ietf.org/doc/html/rfc8422
[RFC 8998]: https://datatracker.ietf.org/doc/html/rfc8998#name-iana-considerations
[RFC 9849]: https://datatracker.ietf.org/doc/html/rfc9849
[SP 800-185]: https://csrc.nist.gov/pubs/sp/800/185/final

Yours,

The OpenSSL Project Team.


-- 
Tomáš Mráz, Chief Technology Officer, OpenSSL Foundation
Join the Code Protectors or support us on Github Sponsors
https://openssl-foundation.org/donate/

-- 
You received this message because you are subscribed to the Google Groups "openssl-project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/a/openssl.org/d/msgid/openssl-project/b76db9f8c8468b0b730d6a02cb3b8ac376eb0d7a.camel%40openssl.org.
signature.asc (application/pgp-signature, 858 B)
-----BEGIN PGP SIGNATURE-----

iQJGBAABCgAwFiEE3HAyZir4heL0fyQ/UnRmohynnm0FAmmwMr4SHHRvbWFzQG9w
ZW5zc2wub3JnAAoJEFJ0ZqIcp55tHvcP/1q9qwTbju0PjiKEM7nw9y23Mdwswj+3
ZGQDJJpEn+nh7LebnoIsV2n4Kv8O3J9zQJXVVhaTWLqFtVTU14XNNso0SCGPaGJ8
9Kxi3z8qeu3n7nMOTGLk5/gz5r+527DJ0adeGfnKDLKPcGTrRMHsXw7FYj99O8ff
4fkmQ0feINNYxG2ClqPiD/g1YksFEL2FBNnGkgTASJyHB6iQV7D1uf5y+EaTzzPE
KfZWMjSXtVKLTvRTVu5S2i4p6wMyvrXB3wwpETJ7jxkfih4jCW9u5FsieHG6d1Po
VTBslvlkJRQUs+v+pIkCKjA5JPxxSyquivPj5KtHndtlW1qWAKXZO27aQIZoA3tA
xJv9tpQ60l9hk2NdFJrKN9JXrXYYE9RR7mIjN8OAUmFGY2ZZOdFY+gd74gxJG362
GDsdAGWUiRE0kLVmXtXkygECdOPlqFTg4dryLk6RGe1xA1L7FP6V1NMOIVAIj64E
3CNsGW+1mvW/D1jT2bsgikmyTbNhgujP1Yt7M0rpPbHVwU2ZUt+fJuhbjc0v51ZY
TlSZowEetOXH5cjvLw2JYqqA4ucHb4G4nvliiKd/BvZp0BxPk3m1G+wsds4t0DM3
kSjl7wsbsVK9FspoQ62WBGF17NnVLbAealLXE6RP7pBn2Xu8CxQxyhHkH0jyMlVr
zVrQj+pU91dp
=5qlE
-----END PGP SIGNATURE-----