mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-09 21:44:28 +00:00
Document that MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is required by MBEDTLS_SSL_PROTO_TLS1_3
Also have check_config.h enforce this. And MBEDTLS_SSL_EXPORT_KEYS has been removed, so no longer mention it. Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
This commit is contained in:
parent
1dc6848679
commit
afb2fe1acf
4
ChangeLog.d/tls13_and_keep_certificates.txt
Normal file
4
ChangeLog.d/tls13_and_keep_certificates.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Bugfix
|
||||||
|
* Fix check_config.h to check that we have MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
|
||||||
|
when MBEDTLS_SSL_PROTO_TLS1_3 is specified, and make this explicit in the
|
||||||
|
documentation. Fixes #5610.
|
@ -136,10 +136,16 @@ MVP definition
|
|||||||
|
|
||||||
- Compatibility with existing SSL/TLS build options:
|
- Compatibility with existing SSL/TLS build options:
|
||||||
|
|
||||||
The TLS 1.3 MVP is compatible with all TLS 1.2 configuration options in the
|
The TLS 1.3 MVP is compatible with nearly all TLS 1.2 configuration options
|
||||||
sense that when enabling the TLS 1.3 MVP in the library there is no need to
|
in the sense that when enabling the TLS 1.3 MVP in the library there is rarely
|
||||||
modify the configuration for TLS 1.2. The MBEDTLS_USE_PSA_CRYPTO configuration
|
any need to modify the configuration from that used for TLS 1.2.
|
||||||
option is an exception though, the TLS 1.3 MVP is not compatible with it.
|
|
||||||
|
The two exceptions to this are:
|
||||||
|
|
||||||
|
- The TLS 1.3 MVP is not compatible with MBEDTLS_USE_PSA_CRYPTO, so this option
|
||||||
|
must be disabled.
|
||||||
|
- The TLS 1.3 MVP requires MBEDTLS_SSL_KEEP_PEER_CERTIFICATE, so this option
|
||||||
|
must be enabled.
|
||||||
|
|
||||||
Mbed TLS SSL/TLS related features are not supported or not applicable to the
|
Mbed TLS SSL/TLS related features are not supported or not applicable to the
|
||||||
TLS 1.3 MVP:
|
TLS 1.3 MVP:
|
||||||
@ -152,12 +158,11 @@ MVP definition
|
|||||||
| MBEDTLS_SSL_DEBUG_ALL | no |
|
| MBEDTLS_SSL_DEBUG_ALL | no |
|
||||||
| MBEDTLS_SSL_ENCRYPT_THEN_MAC | n/a |
|
| MBEDTLS_SSL_ENCRYPT_THEN_MAC | n/a |
|
||||||
| MBEDTLS_SSL_EXTENDED_MASTER_SECRET | n/a |
|
| MBEDTLS_SSL_EXTENDED_MASTER_SECRET | n/a |
|
||||||
| MBEDTLS_SSL_KEEP_PEER_CERTIFICATE | no |
|
| MBEDTLS_SSL_KEEP_PEER_CERTIFICATE | no (1) |
|
||||||
| MBEDTLS_SSL_RENEGOTIATION | n/a |
|
| MBEDTLS_SSL_RENEGOTIATION | n/a |
|
||||||
| MBEDTLS_SSL_MAX_FRAGMENT_LENGTH | no |
|
| MBEDTLS_SSL_MAX_FRAGMENT_LENGTH | no |
|
||||||
| | |
|
| | |
|
||||||
| MBEDTLS_SSL_SESSION_TICKETS | no |
|
| MBEDTLS_SSL_SESSION_TICKETS | no |
|
||||||
| MBEDTLS_SSL_EXPORT_KEYS | no (1) |
|
|
||||||
| MBEDTLS_SSL_SERVER_NAME_INDICATION | no |
|
| MBEDTLS_SSL_SERVER_NAME_INDICATION | no |
|
||||||
| MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH | no |
|
| MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH | no |
|
||||||
| | |
|
| | |
|
||||||
@ -178,7 +183,7 @@ MVP definition
|
|||||||
| | |
|
| | |
|
||||||
| MBEDTLS_USE_PSA_CRYPTO | no |
|
| MBEDTLS_USE_PSA_CRYPTO | no |
|
||||||
|
|
||||||
(1) Some support has already been upstreamed but it is incomplete.
|
(1) This option must remain in its default state of enabled.
|
||||||
(2) Key exchange configuration options for TLS 1.3 will likely to be
|
(2) Key exchange configuration options for TLS 1.3 will likely to be
|
||||||
organized around the notion of key exchange mode along the line
|
organized around the notion of key exchange mode along the line
|
||||||
of the MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_NONE/PSK/PSK_EPHEMERAL/EPHEMERAL
|
of the MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_NONE/PSK/PSK_EPHEMERAL/EPHEMERAL
|
||||||
|
@ -729,6 +729,13 @@
|
|||||||
#error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites"
|
#error "MBEDTLS_SSL_PROTO_TLS1_3 defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The current implementation of TLS 1.3 requires MBEDTLS_SSL_KEEP_PEER_CERTIFICATE.
|
||||||
|
*/
|
||||||
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && !defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
|
||||||
|
#error "MBEDTLS_SSL_PROTO_TLS1_3 defined without MBEDTLS_SSL_KEEP_PEER_CERTIFICATE"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
||||||
!(defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
|
!(defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
||||||
|
@ -1444,6 +1444,8 @@
|
|||||||
* still ensure that certificates do not change during renegotiation,
|
* still ensure that certificates do not change during renegotiation,
|
||||||
* for example by keeping a hash of the peer's certificate.
|
* for example by keeping a hash of the peer's certificate.
|
||||||
*
|
*
|
||||||
|
* \note This option is required if MBEDTLS_SSL_PROTO_TLS1_3 is set.
|
||||||
|
*
|
||||||
* Comment this macro to disable storing the peer's certificate
|
* Comment this macro to disable storing the peer's certificate
|
||||||
* after the handshake.
|
* after the handshake.
|
||||||
*/
|
*/
|
||||||
@ -1502,6 +1504,8 @@
|
|||||||
* See docs/architecture/tls13-support.md for a description of the TLS
|
* See docs/architecture/tls13-support.md for a description of the TLS
|
||||||
* 1.3 support that this option enables.
|
* 1.3 support that this option enables.
|
||||||
*
|
*
|
||||||
|
* Requires: MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
|
||||||
|
*
|
||||||
* Uncomment this macro to enable the support for TLS 1.3.
|
* Uncomment this macro to enable the support for TLS 1.3.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user