blob: b958f864fc87dd00e25b414c7881299072884fec [file] [log] [blame] [view]
Gilles Peskine2649aa22025-06-25 21:41:23 +02001## Removed features
2
3### Removal of obsolete key exchanges methods in (D)TLS 1.2
4
Gilles Peskine159a6522025-06-30 10:59:59 +02005Mbed TLS 4.0 no longer supports key exchange methods that rely on finite-field Diffie-Hellman (DHE) in TLS 1.2 and DTLS 1.2. (Only ephemeral Diffie-Hellman was ever supported, Mbed TLS 3.x already did not support static Diffie-Hellman.) Finite-field Diffie-Hellman remains supported in TLS 1.3.
Gilles Peskine2649aa22025-06-25 21:41:23 +02006
Gilles Peskine159a6522025-06-30 10:59:59 +02007Mbed TLS 4.0 no longer supports key exchange methods that rely on RSA decryption (without forward secrecy). RSA signatures remain supported. This affects TLS 1.2 and DTLS 1.2 (TLS 1.3 does not have key exchanges using RSA decryption).
Gilles Peskine2649aa22025-06-25 21:41:23 +02008
9That is, the following key exchange types are no longer supported:
10
11* RSA-PSK;
12* RSA (i.e. cipher suites using only RSA decryption: cipher suites using RSA signatures remain supported);
13* DHE-PSK (except in TLS 1.3);
14* DHE-RSA (except in TLS 1.3).
Gilles Peskinecf9b5572025-09-26 16:07:38 +020015* static ECDH (ECDH-RSA and ECDH-ECDSA, as opposed to ephemeral ECDH (ECDHE) which remains supported).
Gilles Peskine2649aa22025-06-25 21:41:23 +020016
17The full list of removed cipher suites is:
18
19```
20TLS-DHE-PSK-WITH-AES-128-CBC-SHA
21TLS-DHE-PSK-WITH-AES-128-CBC-SHA256
22TLS-DHE-PSK-WITH-AES-128-CCM
23TLS-DHE-PSK-WITH-AES-128-CCM-8
24TLS-DHE-PSK-WITH-AES-128-GCM-SHA256
25TLS-DHE-PSK-WITH-AES-256-CBC-SHA
26TLS-DHE-PSK-WITH-AES-256-CBC-SHA384
27TLS-DHE-PSK-WITH-AES-256-CCM
28TLS-DHE-PSK-WITH-AES-256-CCM-8
29TLS-DHE-PSK-WITH-AES-256-GCM-SHA384
30TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256
31TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256
32TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384
33TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384
34TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256
35TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256
36TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384
37TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384
38TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256
39TLS-DHE-PSK-WITH-NULL-SHA
40TLS-DHE-PSK-WITH-NULL-SHA256
41TLS-DHE-PSK-WITH-NULL-SHA384
42TLS-DHE-RSA-WITH-AES-128-CBC-SHA
43TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
44TLS-DHE-RSA-WITH-AES-128-CCM
45TLS-DHE-RSA-WITH-AES-128-CCM-8
46TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
47TLS-DHE-RSA-WITH-AES-256-CBC-SHA
48TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
49TLS-DHE-RSA-WITH-AES-256-CCM
50TLS-DHE-RSA-WITH-AES-256-CCM-8
51TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
52TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256
53TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256
54TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384
55TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384
56TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
57TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256
58TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256
59TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA
60TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256
61TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384
62TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256
Gilles Peskinecf9b5572025-09-26 16:07:38 +020063TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA
64TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256
65TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256
66TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA
67TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384
68TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384
69TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256
70TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256
71TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384
72TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384
73TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256
74TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256
75TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384
76TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384
77TLS-ECDH-ECDSA-WITH-NULL-SHA
78TLS-ECDH-RSA-WITH-AES-128-CBC-SHA
79TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256
80TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256
81TLS-ECDH-RSA-WITH-AES-256-CBC-SHA
82TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384
83TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384
84TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256
85TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256
86TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384
87TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384
88TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256
89TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256
90TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384
91TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384
92TLS-ECDH-RSA-WITH-NULL-SHA
Gilles Peskine2649aa22025-06-25 21:41:23 +020093TLS-RSA-PSK-WITH-AES-128-CBC-SHA
94TLS-RSA-PSK-WITH-AES-128-CBC-SHA256
95TLS-RSA-PSK-WITH-AES-128-GCM-SHA256
96TLS-RSA-PSK-WITH-AES-256-CBC-SHA
97TLS-RSA-PSK-WITH-AES-256-CBC-SHA384
98TLS-RSA-PSK-WITH-AES-256-GCM-SHA384
99TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256
100TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256
101TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384
102TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384
103TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256
104TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256
105TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384
106TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384
107TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256
108TLS-RSA-PSK-WITH-NULL-SHA
109TLS-RSA-PSK-WITH-NULL-SHA256
110TLS-RSA-PSK-WITH-NULL-SHA384
111TLS-RSA-WITH-AES-128-CBC-SHA
112TLS-RSA-WITH-AES-128-CBC-SHA256
113TLS-RSA-WITH-AES-128-CCM
114TLS-RSA-WITH-AES-128-CCM-8
115TLS-RSA-WITH-AES-128-GCM-SHA256
116TLS-RSA-WITH-AES-256-CBC-SHA
117TLS-RSA-WITH-AES-256-CBC-SHA256
118TLS-RSA-WITH-AES-256-CCM
119TLS-RSA-WITH-AES-256-CCM-8
120TLS-RSA-WITH-AES-256-GCM-SHA384
121TLS-RSA-WITH-ARIA-128-CBC-SHA256
122TLS-RSA-WITH-ARIA-128-GCM-SHA256
123TLS-RSA-WITH-ARIA-256-CBC-SHA384
124TLS-RSA-WITH-ARIA-256-GCM-SHA384
125TLS-RSA-WITH-CAMELLIA-128-CBC-SHA
126TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256
127TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256
128TLS-RSA-WITH-CAMELLIA-256-CBC-SHA
129TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256
130TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384
131TLS-RSA-WITH-NULL-MD5
132TLS-RSA-WITH-NULL-SHA
133TLS-RSA-WITH-NULL-SHA256
134```
135
136As a consequence of the removal of support for DHE in (D)TLS 1.2, the following functions are no longer useful and have been removed:
137
138```
139mbedtls_ssl_conf_dh_param_bin()
140mbedtls_ssl_conf_dh_param_ctx()
141mbedtls_ssl_conf_dhm_min_bitlen()
142```
Gilles Peskinece9f08a2025-09-26 19:21:15 +0200143
144### Removal of elliptic curves
145
146Following their removal from the crypto library, elliptic curves of less than 250 bits (secp192r1, secp192k1, secp224r1, secp224k1) are no longer supported in certificates and in TLS.
147
148### Removal of deprecated functions
149
150The deprecated functions `mbedtls_ssl_conf_min_version()` and `mbedtls_ssl_conf_max_version()`, and the associated constants `MBEDTLS_SSL_MAJOR_VERSION_3`, `MBEDTLS_SSL_MINOR_VERSION_3` and `MBEDTLS_SSL_MINOR_VERSION_4` have been removed. Use `mbedtls_ssl_conf_min_tls_version()` and `mbedtls_ssl_conf_max_tls_version()` with `MBEDTLS_SSL_VERSION_TLS1_2` or `MBEDTLS_SSL_VERSION_TLS1_3` instead.
151
152The deprecated function `mbedtls_ssl_conf_sig_hashes()` has been removed. Use `mbedtls_ssl_conf_sig_algs()` instead.