OpenSSL announces OpenSSL 3.2 Alpha 1
We are pleased to announce the immediate availability of OpenSSL 3.2 Alpha 1. This release incorporates a number of new features, most notably:
- Client-side QUIC support, including support for multiple streams (RFC 9000)
- Certificate compression in TLS (RFC 8879), including support for zlib, zstd and Brotli
- Deterministic ECDSA (RFC 6979)
- Support for Ed25519ctx, Ed25519ph, Ed448 and Ed448ph (RFC 8032) in addition to existing support for Ed25519
- AES-GCM-SIV (RFC 8452)
- Argon2 (RFC 9106) and supporting thread pool functionality
- HPKE (RFC 9180)
- The ability to use raw public keys in TLS (RFC 7250)
- TCP Fast Open (RFC 7413) support, where supported by the OS
- Support for provider-based pluggable signature schemes in TLS, enabling third-party post-quantum algorithm providers to use these algorithms with TLS
- Support for Brainpool curves in TLS 1.3
- SM4-XTS
- Support for using the Windows system certificate store as a source of trusted root certificates. This is not yet enabled by default and must be activated using an environment variable. This is likely to become enabled by default in a future feature release.
A complete summary of the major new features and significant changes in OpenSSL 3.2 can be found in the NEWS file; a more detailed list of changes in OpenSSL 3.2 can be found in the CHANGES file on GitHub.
This is an alpha release and is intended for development and testing purposes; it should not be used for production use. Users should expect minor bugs. Reports of interoperability issues with other QUIC implementations, or any other bug reports, are greatly appreciated and can be filed on our issue tracker. Questions about using OpenSSL 3.2 can be posted in our new GitHub Discussions area, as can feedback regarding our new QUIC functionality and APIs.
Users who test OpenSSL 3.2 at this stage are instrumental in our pursuit of a secure and high quality cryptography toolkit that meets the needs of all of our communities. As such, we would like to thank in advance everyone who takes the time to try the OpenSSL 3.2 alpha or to file bug reports.
OpenSSL 3.2 Alpha 1 can be downloaded as a source tarball here or obtained from our release tag on GitHub. Checksums and release signatures may be found on the Downloads page.
Alpha represents the first stage of the release process. Although unlikely, we reserve the right to make changes to new APIs or features in this stage. The move to Beta represents a feature and API freeze, after which only bug fixes will be merged prior to final release.
Users interested in using the new QUIC functionality are encouraged to look at some of the following resources:
- The openssl-quic(7) manpage, which provides a basic reference overview of QUIC functionality and how use of QUIC differs from use of TLS with regard to our API;
- The new OpenSSL Guide, which provides introductory guides on the use of TLS, QUIC, and other OpenSSL functionality. See the ossl-guide-introduction(7) manpage for the index.
- The DDD demos, which demonstrate the use of QUIC using simple examples.
These can be found in the source tree under
doc/designs/ddd
.
We plan to progress to the beta phase on or before 5 October 2023, and to issue a final release on or before 31 October 2023. Following this, we will transition to a time-based release schedule on a 6-month cadence, with regular feature releases in October and April each year.
The next feature release after OpenSSL 3.2 will be OpenSSL 3.3, which will be released no later than 30 April 2024. This release is expected to include QUIC server support. The determination of what other features will be shipped in OpenSSL 3.3 is ongoing and will be decided by our newly announced Release Steering Committee.
We would like to thank all of our users and communities for their continued use and support of OpenSSL. This release would not be possible without the innumerate bug reports, pull requests, code reviews and feedback we continue to receive from our community.
Comments and feedback are welcomed on GitHub Discussions.