1
0
mirror of https://github.com/ARMmbed/mbedtls.git synced 2025-06-15 08:52:33 +08:00

Merge pull request #6689 from gilles-peskine-arm/changelog-20221129-pre-3.3

Changelog improvements for 3.3
This commit is contained in:
Dave Rodgman 2022-12-06 13:37:24 +00:00 committed by GitHub
commit 98be95563d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 66 additions and 62 deletions

View File

@ -3,9 +3,9 @@ Features
Signature verification is production-ready, but generation is for testing Signature verification is production-ready, but generation is for testing
purposes only. This currently only supports one parameter set purposes only. This currently only supports one parameter set
(LMS_SHA256_M32_H10), meaning that each private key can be used to sign (LMS_SHA256_M32_H10), meaning that each private key can be used to sign
1024 messages. As such, it is not intended for use in TLS, but instead for 1024 messages. As such, it is not intended for use in TLS, but instead
verification of assets transmitted over an insecure channel, particularly for verification of assets transmitted over an insecure channel,
firmware images. particularly firmware images.
* Add the LM-OTS post-quantum-safe one-time signature scheme, which is * Add the LM-OTS post-quantum-safe one-time signature scheme, which is
required for LMS. This can be used independently, but each key can only be required for LMS. This can be used independently, but each key can only
used to sign one message so is impractical for most circumstances. be used to sign one message so is impractical for most circumstances.

View File

@ -1,8 +1,8 @@
Features Features
* When GnuTLS/Openssl server is configured in TLS 1.2 mode with a certificate * Support rsa_pss_rsae_* signature algorithms in TLS 1.2.
declaring an RSA public key and Mbed TLS is configured in hybrid mode, if Bugfix
`rsa_pss_rsae_*` algorithms are before `rsa_pkcs1_*` ones in this list then * Fix an interoperability failure between an Mbed TLS client with both
the GnuTLS/Openssl server chooses an `rsa_pss_rsae_*` signature algorithm TLS 1.2 and TLS 1.3 support, and a TLS 1.2 server that supports
for its signature in the key exchange message. As Mbed TLS 1.2 does not rsa_pss_rsae_* signature algorithms. This failed because Mbed TLS
support them, the handshake fails. Add `rsa_pss_rsae_*` support for TLS 1.2 advertised support for PSS in both TLS 1.2 and 1.3, but only
to resolve the compitablity issue. actually supported PSS in TLS 1.3.

View File

@ -3,14 +3,15 @@ Features
MBEDTLS_SSL_DTLS_CONNECTION_ID (enabled by default) and configured with MBEDTLS_SSL_DTLS_CONNECTION_ID (enabled by default) and configured with
mbedtls_ssl_set_cid(). mbedtls_ssl_set_cid().
Changes Default behavior changes
* Previously the macro MBEDTLS_SSL_DTLS_CONNECTION_ID implemented version 05 * Previously the macro MBEDTLS_SSL_DTLS_CONNECTION_ID implemented version 05
of the draft, and was marked experimental and disabled by default. It is of the IETF draft, and was marked experimental and disabled by default.
now no longer experimental, and implements the final version from RFC 9146, It is now no longer experimental, and implements the final version from
which is not interoperable with the draft-05 version. If you need to RFC 9146, which is not interoperable with the draft-05 version.
communicate with peers that use earlier versions of Mbed TLS, you If you need to communicate with peers that use earlier versions of
need to define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT to 1, but then you Mbed TLS, then you need to define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT
won't be able to communicate with peers that use the standard (non-draft) to 1, but then you won't be able to communicate with peers that use the
version. If you need to interoperate with both classes of peers with the standard (non-draft) version.
If you need to interoperate with both classes of peers with the
same build of Mbed TLS, please let us know about your situation on the same build of Mbed TLS, please let us know about your situation on the
mailing list or GitHub. mailing list or GitHub.

View File

@ -1,2 +1,2 @@
Changes Changes
* Add the ability to query PSA_WANT_xxx macros to query_compile_time_config * Add the ability to query PSA_WANT_xxx macros to query_compile_time_config.

View File

@ -1,5 +1,5 @@
Bugfix Bugfix
* Fix a bug whereby the the list of signature algorithms sent as part of the * Fix a bug whereby the list of signature algorithms sent as part of
TLS 1.2 server certificate request would get corrupted, meaning the first the TLS 1.2 server certificate request would get corrupted, meaning the
algorithm would not get sent and an entry consisting of two random bytes first algorithm would not get sent and an entry consisting of two random
would be sent instead. Found by Serban Bejan and Dudek Sebastian. bytes would be sent instead. Found by Serban Bejan and Dudek Sebastian.

View File

@ -1,3 +1,3 @@
Bugfix Bugfix
* Fix build error due to missing prototype * Fix a build error due to a missing prototype warning when
warning when MBEDTLS_DEPRECATED_REMOVED is enabled MBEDTLS_DEPRECATED_REMOVED is enabled.

View File

@ -1,4 +1,3 @@
Bugfix Bugfix
* Fix bugs and missing dependencies when * Fix bugs and missing dependencies when building and testing
building and testing configurations with configurations with only one encryption type enabled in TLS 1.2.
only one encryption type enabled in TLS 1.2.

View File

@ -1,3 +0,0 @@
Bugfix
* Fix an issue in releases with GEN_FILES turned off whereby missing
generated files could be turned into symlinks to themselves.

View File

@ -0,0 +1,4 @@
Bugfix
* Fix an issue with in-tree CMake builds in releases with GEN_FILES
turned off: if a shipped file was missing from the working directory,
it could be turned into a symbolic link to itself.

View File

@ -1,3 +1,3 @@
Bugfix Bugfix
* Fixed an issue that cause compile error using CMake IAR toolchain. * Fix a compilation error when using CMake with an IAR toolchain.
Fixes #5964. Fixes #5964.

View File

@ -1,3 +0,0 @@
Bugfix
* Fix a build issue on Windows where the source and build directory could not be on
different drives (#5751).

View File

@ -0,0 +1,3 @@
Bugfix
* Fix a build issue on Windows using CMake where the source and build
directories could not be on different drives. Fixes #5751.

View File

@ -1,4 +1,4 @@
Bugfix Bugfix
* Fix TLS 1.3 session resumption fail. Fixes #6488. * Fix TLS 1.3 session resumption. Fixes #6488.
* Add configuration check to exclude TLS 1.3 optional authentication of * Add a configuration check to exclude optional client authentication
client. in TLS 1.3 (where it is forbidden).

View File

@ -1,3 +1,3 @@
Bugfix Bugfix
* Fix possible crash in TLS PRF code, if a failure to allocate memory occurs. * Fix a possible null pointer dereference if a memory allocation fails
Reported by Michael Madsen in #6516. in TLS PRF code. Reported by Michael Madsen in #6516.

View File

@ -1,6 +1,8 @@
Features Features
* Shared code to free x509 structs like mbedtls_x509_named_data * The new functions mbedtls_asn1_free_named_data_list() and
mbedtls_asn1_free_named_data_list_shallow() simplify the management
of memory in named data lists in X.509 structures.
New deprecations New deprecations
* Deprecate mbedtls_asn1_free_named_data(). * Deprecate mbedtls_asn1_free_named_data().
Use mbedtls_asn1_free_named_data_list() Use mbedtls_asn1_free_named_data_list()
or mbedtls_asn1_free_named_data_list_shallow() or mbedtls_asn1_free_named_data_list_shallow().

View File

@ -1,6 +1,13 @@
Features Features
* Brought in PSA code geneneration JSON driver list. * The PSA driver wrapper generator generate_driver_wrappers.py now
Added auto generated templating support for key management. supports a subset of the driver description language, including
Added Support for transparent and opaque keys (import/export/copy). the following entry points: import_key, export_key, export_public_key,
Included some general JSON validation for the given entry points. get_builtin_key, copy_key.
Addresses version 1.1 of #5137.
Requirement changes
* When building with PSA drivers using generate_driver_wrappers.py, or
when building the library from the development branch rather than
from a release, the Python module jsonschema is now necessary, in
addition to jinja2. The official list of required Python modules is
maintained in scripts/basic.requirements.txt and may change again
in the future.

View File

@ -1,5 +0,0 @@
Removals
* Remove compression property from SSL session struct.
MBEDTLS_SSL_COMPRESS_NULL is now the only supported
compression option and can be used for compatibility
reasons. Changes requested in #4223.

View File

@ -1,9 +1,8 @@
Features Features
* Mbed TLS supports TLS 1.3 key establishment via pre-shared keys, * Mbed TLS now supports TLS 1.3 key establishment via pre-shared keys.
pre-shared keys provisioned externally or via the ticket mechanism The pre-shared keys can be provisioned externally or via the ticket
(session resumption). mechanism (session resumption).
The MBEDTLS_SSL_SESSION_TICKETS configuration option controls the support The ticket mechanism is supported when the configuration option
for the ticket mechanism. MBEDTLS_SSL_SESSION_TICKETS is enabled.
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_xxx_ENABLED configuration options New options MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_xxx_ENABLED
have been introduced to control the support for the three possible control the support for the three possible TLS 1.3 key exchange modes.
TLS 1.3 key exchange modes.