Merge remote-tracking branch 'origin/development' into merge-dev
This commit is contained in:
commit
acbb6dc364
169 changed files with 9601 additions and 1898 deletions
|
@ -1,20 +1,19 @@
|
|||
Features
|
||||
* Some crypto modules that previously depended on MD or a low-level hash
|
||||
module, either unconditionally (RSA, PK, PKCS5, PKCS12, EC J-PAKE), or
|
||||
for some features (PEM for encrypted files), are now able to use PSA
|
||||
Crypto instead when the legacy API is not available. This means it is
|
||||
now possible to use all features from those modules in configurations
|
||||
where the built-in implementations of hashes are excluded and the hashes
|
||||
are only provided by PSA drivers. In these configurations, you need to
|
||||
call `psa_crypto_init()` before you call any function from those
|
||||
modules; this is not required in configurations where the built-in
|
||||
implementation is still available. Note that some crypto modules and
|
||||
features still depend on the built-in implementation of hashes:
|
||||
MBEDTLS_HKDF_C (but the PSA HKDF function do not depend on it),
|
||||
MBEDTLS_ENTROPY_C, MBEDTLS_HMAC_DRBG_C and MBEDTLS_ECDSA_DETERMINISTIC.
|
||||
In particular, for now, compiling without built-in hashes requires use
|
||||
of MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG.
|
||||
* When MBEDTLS_USE_PSA_CRYPTO is enabled, X.509, TLS 1.2 and TLS 1.3 no
|
||||
longer depend on MD. This means it is now possible to use them in
|
||||
configurations where the built-in implementations of hashes are excluded
|
||||
and the hashes are only provided by PSA drivers.
|
||||
* Some modules can now use PSA drivers for hashes, including with no
|
||||
built-in implementation present, but only in some configurations.
|
||||
- RSA OAEP and PSS (PKCS#1 v2.1), PKCS5, PKCS12 and EC J-PAKE now use
|
||||
hashes from PSA when (and only when) MBEDTLS_MD_C is disabled.
|
||||
- PEM parsing of encrypted files now uses MD-5 from PSA when (and only
|
||||
when) MBEDTLS_MD5_C is disabled.
|
||||
See the documentation of the corresponding macros in mbedtls_config.h for
|
||||
details.
|
||||
Note that some modules are not able to use hashes from PSA yet, including
|
||||
the entropy module. As a consequence, for now the only way to build with
|
||||
all hashes only provided by drivers (no built-in hash) is to use
|
||||
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG.
|
||||
* When MBEDTLS_USE_PSA_CRYPTO is enabled, X.509, TLS 1.2 and TLS 1.3 now
|
||||
properly negotiate/accept hashes based on their availability in PSA.
|
||||
As a consequence, they now work in configurations where the built-in
|
||||
implementations of (some) hashes are excluded and those hashes are only
|
||||
provided by PSA drivers. (See previous entry for limitation on RSA-PSS
|
||||
though: that module only use hashes from PSA when MBEDTLS_MD_C is off).
|
||||
|
|
16
ChangeLog.d/dtls-connection-id.txt
Normal file
16
ChangeLog.d/dtls-connection-id.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
Features
|
||||
* Add support for DTLS Connection ID as defined by RFC 9146, controlled by
|
||||
MBEDTLS_SSL_DTLS_CONNECTION_ID (enabled by default) and configured with
|
||||
mbedtls_ssl_set_cid().
|
||||
|
||||
Changes
|
||||
* Previously the macro MBEDTLS_SSL_DTLS_CONNECTION_ID implemented version 05
|
||||
of the draft, and was marked experimental and disabled by default. It is
|
||||
now no longer experimental, and implements the final version from RFC 9146,
|
||||
which is not interoperable with the draft-05 version. If you need to
|
||||
communicate with peers that use earlier versions of Mbed TLS, you
|
||||
need to define MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT to 1, but then you
|
||||
won't be able to communicate with peers that use 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
|
||||
mailing list or GitHub.
|
5
ChangeLog.d/ecjpake-in-tls.txt
Normal file
5
ChangeLog.d/ecjpake-in-tls.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Features
|
||||
* The TLS 1.2 EC J-PAKE key exchange can now use the PSA Crypto API.
|
||||
Additional PSA key slots will be allocated in the process of such key
|
||||
exchange for builds that enable MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED and
|
||||
MBEDTLS_USE_PSA_CRYPTO.
|
|
@ -0,0 +1,5 @@
|
|||
Changes
|
||||
* Calling AEAD tag-specific functions for non-AEAD algorithms (which
|
||||
should not be done - they are documented for use only by AES-GCM and
|
||||
ChaCha20+Poly1305) now returns MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE
|
||||
instead of success (0).
|
5
ChangeLog.d/fix-tls12server-sent-sigalgs.txt
Normal file
5
ChangeLog.d/fix-tls12server-sent-sigalgs.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Bugfix
|
||||
* Fix a bug whereby the the list of signature algorithms sent as part of the
|
||||
TLS 1.2 server certificate request would get corrupted, meaning the first
|
||||
algorithm would not get sent and an entry consisting of two random bytes
|
||||
would be sent instead. Found by Serban Bejan and Dudek Sebastian.
|
4
ChangeLog.d/fix_dh_genprime_error_reporting.txt
Normal file
4
ChangeLog.d/fix_dh_genprime_error_reporting.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
Bugfix
|
||||
* Fix bug in error reporting in dh_genprime.c where upon failure,
|
||||
the error code returned by mbedtls_mpi_write_file() is overwritten
|
||||
and therefore not printed.
|
5
ChangeLog.d/fix_x509_info_hwmodulename.txt
Normal file
5
ChangeLog.d/fix_x509_info_hwmodulename.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Bugfix
|
||||
* Fix a bug in which mbedtls_x509_crt_info() would produce non-printable
|
||||
bytes when parsing certificates containing a binary RFC 4108
|
||||
HardwareModuleName as a Subject Alternative Name extension. Hardware
|
||||
serial numbers are now rendered in hex format. Fixes #6262.
|
6
ChangeLog.d/mbedtls_asn1_type_free.txt
Normal file
6
ChangeLog.d/mbedtls_asn1_type_free.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
Features
|
||||
* Shared code to free x509 structs like mbedtls_x509_named_data
|
||||
New deprecations
|
||||
* Deprecate mbedtls_asn1_free_named_data().
|
||||
Use mbedtls_asn1_free_named_data_list()
|
||||
or mbedtls_asn1_free_named_data_list_shallow()
|
3
ChangeLog.d/move-ssl-modules.txt
Normal file
3
ChangeLog.d/move-ssl-modules.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
Bugfix
|
||||
* Move some SSL-specific code out of libmbedcrypto where it had been placed
|
||||
accidentally.
|
4
ChangeLog.d/mpi-add-0-ub.txt
Normal file
4
ChangeLog.d/mpi-add-0-ub.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
Bugfix
|
||||
* Fix undefined behavior (typically harmless in practice) of
|
||||
mbedtls_mpi_add_mpi(), mbedtls_mpi_add_abs() and mbedtls_mpi_add_int()
|
||||
when both operands are 0 and the left operand is represented with 0 limbs.
|
4
ChangeLog.d/mpi-most-negative-sint.txt
Normal file
4
ChangeLog.d/mpi-most-negative-sint.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
Bugfix
|
||||
* Fix undefined behavior (typically harmless in practice) when some bignum
|
||||
functions receive the most negative value of mbedtls_mpi_sint. Credit
|
||||
to OSS-Fuzz. Fixes #6597.
|
6
ChangeLog.d/negative-zero-from-add.txt
Normal file
6
ChangeLog.d/negative-zero-from-add.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
Bugfix
|
||||
* In the bignum module, operations of the form (-A) - (+A) or (-A) - (-A)
|
||||
with A > 0 created an unintended representation of the value 0 which was
|
||||
not processed correctly by some bignum operations. Fix this. This had no
|
||||
consequence on cryptography code, but might affect applications that call
|
||||
bignum directly and use negative numbers.
|
13
ChangeLog.d/pkcs7-parser.txt
Normal file
13
ChangeLog.d/pkcs7-parser.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
Features
|
||||
* Added partial support for parsing the PKCS7 cryptographic message syntax,
|
||||
as defined in RFC 2315. Currently, support is limited to the following:
|
||||
- Only the signed data content type, version 1 is supported.
|
||||
- Only DER encoding is supported.
|
||||
- Only a single digest algorithm per message is supported.
|
||||
- Only 0 or 1, certificate is supported per message, which must be in
|
||||
X509 format.
|
||||
- There is no support for certificate-revocation lists.
|
||||
- The authenticated and unauthenticated attribute fields of SignerInfo
|
||||
must be empty.
|
||||
Many thanks to Daniel Axtens, Nayna Jain, and Nick Child from IBM for
|
||||
contributing this feature.
|
3
ChangeLog.d/psa-ecb-ub.txt
Normal file
3
ChangeLog.d/psa-ecb-ub.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
Bugfix
|
||||
* Fix undefined behavior (typically harmless in practice) in PSA ECB
|
||||
encryption and decryption.
|
5
ChangeLog.d/psa_driver_wrapper_for_raw_key_agreement.txt
Normal file
5
ChangeLog.d/psa_driver_wrapper_for_raw_key_agreement.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
Features
|
||||
* Add a driver dispatch layer for raw key agreement, enabling alternative
|
||||
implementations of raw key agreement through the key_agreement driver
|
||||
entry point. This entry point is specified in the proposed PSA driver
|
||||
interface, but had not yet been implemented.
|
Loading…
Add table
Add a link
Reference in a new issue