mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-08-08 17:42:09 +03:00
Merge pull request #9917 from valeriosetti/issue9685
[development] Remove the DHE-RSA key exchange
This commit is contained in:
2
ChangeLog.d/9685.txt
Normal file
2
ChangeLog.d/9685.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Removals
|
||||||
|
* Remove support for the DHE-RSA key exchange in TLS 1.2.
|
@@ -117,7 +117,6 @@ Support description
|
|||||||
| MBEDTLS_KEY_EXCHANGE_PSK_ENABLED | n/a (2) |
|
| MBEDTLS_KEY_EXCHANGE_PSK_ENABLED | n/a (2) |
|
||||||
| MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED | n/a |
|
| MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED | n/a |
|
||||||
| MBEDTLS_KEY_EXCHANGE_RSA_ENABLED | n/a |
|
| MBEDTLS_KEY_EXCHANGE_RSA_ENABLED | n/a |
|
||||||
| MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED | n/a |
|
|
||||||
| MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED | n/a |
|
| MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED | n/a |
|
||||||
| MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED | n/a |
|
| MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED | n/a |
|
||||||
| MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED | n/a |
|
| MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED | n/a |
|
||||||
|
Submodule framework updated: 2000db4295...2eb60b8da3
@@ -74,12 +74,6 @@
|
|||||||
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites"
|
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) && \
|
|
||||||
( !defined(MBEDTLS_DHM_C) || !defined(MBEDTLS_RSA_C) || \
|
|
||||||
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
|
|
||||||
#error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \
|
||||||
( !defined(MBEDTLS_CAN_ECDH) || !defined(MBEDTLS_RSA_C) || \
|
( !defined(MBEDTLS_CAN_ECDH) || !defined(MBEDTLS_RSA_C) || \
|
||||||
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
|
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
|
||||||
@@ -162,7 +156,6 @@
|
|||||||
|
|
||||||
#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_ECDHE_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
|
@@ -62,7 +62,6 @@
|
|||||||
#undef MBEDTLS_SSL_EXTENDED_MASTER_SECRET
|
#undef MBEDTLS_SSL_EXTENDED_MASTER_SECRET
|
||||||
#undef MBEDTLS_SSL_RENEGOTIATION
|
#undef MBEDTLS_SSL_RENEGOTIATION
|
||||||
#undef MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
#undef MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||||
#undef MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
#undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
#undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
||||||
#undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
#undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
||||||
#undef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
#undef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
||||||
|
@@ -206,38 +206,6 @@
|
|||||||
*/
|
*/
|
||||||
#define MBEDTLS_DEBUG_C
|
#define MBEDTLS_DEBUG_C
|
||||||
|
|
||||||
/**
|
|
||||||
* \def MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
*
|
|
||||||
* Enable the DHE-RSA based ciphersuite modes in SSL / TLS.
|
|
||||||
*
|
|
||||||
* Requires: MBEDTLS_DHM_C, MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
|
|
||||||
* MBEDTLS_X509_CRT_PARSE_C
|
|
||||||
*
|
|
||||||
* This enables the following ciphersuites (if other requisites are
|
|
||||||
* enabled as well):
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
|
|
||||||
* MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
|
|
||||||
*
|
|
||||||
* \warning Using DHE constitutes a security risk as it
|
|
||||||
* is not possible to validate custom DH parameters.
|
|
||||||
* If possible, it is recommended users should consider
|
|
||||||
* preferring other methods of key exchange.
|
|
||||||
* See dhm.h for more details.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
||||||
*
|
*
|
||||||
|
@@ -657,9 +657,6 @@ union mbedtls_ssl_premaster_secret {
|
|||||||
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
||||||
unsigned char _pms_rsa[48]; /* RFC 5246 8.1.1 */
|
unsigned char _pms_rsa[48]; /* RFC 5246 8.1.1 */
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
unsigned char _pms_dhm[MBEDTLS_MPI_MAX_SIZE]; /* RFC 5246 8.1.2 */
|
|
||||||
#endif
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
|
@@ -30,30 +30,21 @@ extern "C" {
|
|||||||
#define MBEDTLS_TLS_PSK_WITH_NULL_SHA 0x2C /**< Weak! */
|
#define MBEDTLS_TLS_PSK_WITH_NULL_SHA 0x2C /**< Weak! */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA 0x2F
|
#define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA 0x2F
|
||||||
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x33
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA 0x35
|
#define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA 0x35
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x39
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_NULL_SHA256 0x3B /**< Weak! */
|
#define MBEDTLS_TLS_RSA_WITH_NULL_SHA256 0x3B /**< Weak! */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256 0x3C /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256 0x3C /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 0x3D /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 0x3D /**< TLS 1.2 */
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0x41
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0x41
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x45
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x67 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x6B /**< TLS 1.2 */
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0x84
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0x84
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x88
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA 0x8C
|
#define MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA 0x8C
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA 0x8D
|
#define MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA 0x8D
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256 0x9C /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256 0x9C /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384 0x9D /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384 0x9D /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 0x9E /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 0x9F /**< TLS 1.2 */
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256 0xA8 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256 0xA8 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384 0xA9 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384 0xA9 /**< TLS 1.2 */
|
||||||
@@ -64,10 +55,8 @@ extern "C" {
|
|||||||
#define MBEDTLS_TLS_PSK_WITH_NULL_SHA384 0xB1 /**< Weak! */
|
#define MBEDTLS_TLS_PSK_WITH_NULL_SHA384 0xB1 /**< Weak! */
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBA /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBA /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBE /**< TLS 1.2 */
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC0 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC0 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC4 /**< TLS 1.2 */
|
|
||||||
|
|
||||||
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA 0xC001 /**< Weak! */
|
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA 0xC001 /**< Weak! */
|
||||||
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0xC004
|
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0xC004
|
||||||
@@ -113,8 +102,6 @@ extern "C" {
|
|||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256 0xC03C /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256 0xC03C /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384 0xC03D /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384 0xC03D /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC044 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC045 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC048 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC048 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC049 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC049 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC04A /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC04A /**< TLS 1.2 */
|
||||||
@@ -125,8 +112,6 @@ extern "C" {
|
|||||||
#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 0xC04F /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 0xC04F /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256 0xC050 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256 0xC050 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384 0xC051 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384 0xC051 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC052 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC053 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05C /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05C /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05D /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05D /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05E /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05E /**< TLS 1.2 */
|
||||||
@@ -153,8 +138,6 @@ extern "C" {
|
|||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07A /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07A /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07B /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07B /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07C /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07D /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC086 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC086 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC087 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC087 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC088 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC088 /**< TLS 1.2 */
|
||||||
@@ -174,12 +157,8 @@ extern "C" {
|
|||||||
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_128_CCM 0xC09C /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_128_CCM 0xC09C /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_256_CCM 0xC09D /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_256_CCM 0xC09D /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM 0xC09E /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM 0xC09F /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8 0xC0A0 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8 0xC0A0 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8 0xC0A1 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8 0xC0A1 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8 0xC0A2 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8 0xC0A3 /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_128_CCM 0xC0A4 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_AES_128_CCM 0xC0A4 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_256_CCM 0xC0A5 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_AES_256_CCM 0xC0A5 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8 0xC0A8 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8 0xC0A8 /**< TLS 1.2 */
|
||||||
@@ -196,7 +175,6 @@ extern "C" {
|
|||||||
/* RFC 7905 */
|
/* RFC 7905 */
|
||||||
#define MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA8 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA8 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA9 /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA9 /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCAA /**< TLS 1.2 */
|
|
||||||
#define MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAB /**< TLS 1.2 */
|
#define MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAB /**< TLS 1.2 */
|
||||||
#define MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAC /**< TLS 1.2 */
|
#define MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAC /**< TLS 1.2 */
|
||||||
|
|
||||||
@@ -213,7 +191,6 @@ extern "C" {
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
MBEDTLS_KEY_EXCHANGE_NONE = 0,
|
MBEDTLS_KEY_EXCHANGE_NONE = 0,
|
||||||
MBEDTLS_KEY_EXCHANGE_RSA,
|
MBEDTLS_KEY_EXCHANGE_RSA,
|
||||||
MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
|
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
|
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
|
||||||
MBEDTLS_KEY_EXCHANGE_PSK,
|
MBEDTLS_KEY_EXCHANGE_PSK,
|
||||||
@@ -225,7 +202,6 @@ typedef enum {
|
|||||||
|
|
||||||
/* Key exchanges using a certificate */
|
/* Key exchanges using a certificate */
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
@@ -272,8 +248,7 @@ typedef enum {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Key exchanges involving server signature in ServerKeyExchange */
|
/* Key exchanges involving server signature in ServerKeyExchange */
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
||||||
#define MBEDTLS_KEY_EXCHANGE_WITH_SERVER_SIGNATURE_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_WITH_SERVER_SIGNATURE_ENABLED
|
||||||
#endif
|
#endif
|
||||||
@@ -292,8 +267,7 @@ typedef enum {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Key exchanges that involve ephemeral keys */
|
/* Key exchanges that involve ephemeral keys */
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
||||||
@@ -306,11 +280,6 @@ typedef enum {
|
|||||||
#define MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Key exchanges using DHE */
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
#define MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Key exchanges using ECDHE */
|
/* Key exchanges using ECDHE */
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
@@ -354,12 +323,6 @@ typedef enum {
|
|||||||
#define MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED
|
#define MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* TLS 1.2 XXDH key exchanges: ECDH or ECDHE or FFDH */
|
|
||||||
#if (defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED) || \
|
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED))
|
|
||||||
#define MBEDTLS_KEY_EXCHANGE_SOME_XXDH_1_2_ENABLED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The handshake params structure has a set of fields called xxdh_psa which are used:
|
/* The handshake params structure has a set of fields called xxdh_psa which are used:
|
||||||
* - by TLS 1.2 to do ECDH or ECDHE;
|
* - by TLS 1.2 to do ECDH or ECDHE;
|
||||||
* - by TLS 1.3 to do ECDHE or FFDHE.
|
* - by TLS 1.3 to do ECDHE or FFDHE.
|
||||||
|
@@ -49,71 +49,50 @@ static const int ciphersuite_preference[] =
|
|||||||
/* Chacha-Poly ephemeral suites */
|
/* Chacha-Poly ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
|
||||||
|
|
||||||
/* All AES-256 ephemeral suites */
|
/* All AES-256 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
|
|
||||||
|
|
||||||
/* All CAMELLIA-256 ephemeral suites */
|
/* All CAMELLIA-256 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
|
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
|
|
||||||
|
|
||||||
/* All ARIA-256 ephemeral suites */
|
/* All ARIA-256 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
|
|
||||||
|
|
||||||
/* All AES-128 ephemeral suites */
|
/* All AES-128 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
|
|
||||||
|
|
||||||
/* All CAMELLIA-128 ephemeral suites */
|
/* All CAMELLIA-128 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
|
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
|
|
||||||
|
|
||||||
/* All ARIA-128 ephemeral suites */
|
/* All ARIA-128 ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
|
|
||||||
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
|
MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
|
||||||
MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
|
|
||||||
|
|
||||||
/* The PSK ephemeral suites */
|
/* The PSK ephemeral suites */
|
||||||
MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
|
MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
@@ -294,14 +273,6 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
|
|||||||
0,
|
0,
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
|
||||||
"TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
|
|
||||||
MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
|
|
||||||
MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
|
||||||
{ MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
|
{ MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
"TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
|
"TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
|
||||||
@@ -519,115 +490,6 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
|
|||||||
#endif /* MBEDTLS_CIPHER_NULL_CIPHER */
|
#endif /* MBEDTLS_CIPHER_NULL_CIPHER */
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
|
#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
#if defined(PSA_WANT_KEY_TYPE_AES)
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_384) && \
|
|
||||||
defined(PSA_WANT_ALG_GCM)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
|
|
||||||
MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_384 && PSA_WANT_ALG_GCM */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_256)
|
|
||||||
#if defined(PSA_WANT_ALG_GCM)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
|
|
||||||
MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_GCM */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_CBC_NO_PADDING)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
|
|
||||||
MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
|
|
||||||
MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_CBC_NO_PADDING */
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_256 */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_CBC_NO_PADDING)
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_1)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
|
|
||||||
MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
|
|
||||||
MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_1 */
|
|
||||||
#endif /* PSA_WANT_ALG_CBC_NO_PADDING */
|
|
||||||
#if defined(PSA_WANT_ALG_CCM)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
|
|
||||||
MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
|
|
||||||
MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
MBEDTLS_CIPHERSUITE_SHORT_TAG,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
|
|
||||||
MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
|
|
||||||
MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
MBEDTLS_CIPHERSUITE_SHORT_TAG,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_CCM */
|
|
||||||
#endif /* PSA_WANT_KEY_TYPE_AES */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_KEY_TYPE_CAMELLIA)
|
|
||||||
#if defined(PSA_WANT_ALG_CBC_NO_PADDING)
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_256)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_256 */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_1)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_1 */
|
|
||||||
#endif /* PSA_WANT_ALG_CBC_NO_PADDING */
|
|
||||||
#if defined(PSA_WANT_ALG_GCM)
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_256)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_256 */
|
|
||||||
|
|
||||||
#if defined(PSA_WANT_ALG_SHA_384)
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
|
|
||||||
MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif /* PSA_WANT_ALG_SHA_384 */
|
|
||||||
#endif /* PSA_WANT_ALG_GCM */
|
|
||||||
#endif /* PSA_WANT_KEY_TYPE_CAMELLIA */
|
|
||||||
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
||||||
#if defined(PSA_WANT_KEY_TYPE_AES)
|
#if defined(PSA_WANT_KEY_TYPE_AES)
|
||||||
#if defined(PSA_WANT_ALG_SHA_384) && \
|
#if defined(PSA_WANT_ALG_SHA_384) && \
|
||||||
@@ -1388,41 +1250,6 @@ static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
|
|||||||
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
|
#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
|
|
||||||
#if (defined(PSA_WANT_ALG_GCM) && defined(PSA_WANT_ALG_SHA_384))
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
|
|
||||||
"TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
|
|
||||||
MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif
|
|
||||||
#if (defined(PSA_WANT_ALG_CBC_NO_PADDING) && \
|
|
||||||
defined(PSA_WANT_ALG_SHA_384))
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
|
|
||||||
"TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384",
|
|
||||||
MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif
|
|
||||||
#if (defined(PSA_WANT_ALG_GCM) && defined(PSA_WANT_ALG_SHA_256))
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
|
|
||||||
"TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
|
|
||||||
MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif
|
|
||||||
#if (defined(PSA_WANT_ALG_CBC_NO_PADDING) && \
|
|
||||||
defined(PSA_WANT_ALG_SHA_256))
|
|
||||||
{ MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
|
|
||||||
"TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256",
|
|
||||||
MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
|
|
||||||
0,
|
|
||||||
MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
|
|
||||||
#endif /* PSA_WANT_KEY_TYPE_ARIA */
|
#endif /* PSA_WANT_KEY_TYPE_ARIA */
|
||||||
|
|
||||||
|
|
||||||
@@ -1562,7 +1389,6 @@ mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphe
|
|||||||
{
|
{
|
||||||
switch (info->key_exchange) {
|
switch (info->key_exchange) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
return MBEDTLS_PK_RSA;
|
return MBEDTLS_PK_RSA;
|
||||||
|
|
||||||
@@ -1583,7 +1409,6 @@ psa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_cip
|
|||||||
switch (info->key_exchange) {
|
switch (info->key_exchange) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_RSA:
|
||||||
return PSA_ALG_RSA_PKCS1V15_CRYPT;
|
return PSA_ALG_RSA_PKCS1V15_CRYPT;
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
return PSA_ALG_RSA_PKCS1V15_SIGN(
|
return PSA_ALG_RSA_PKCS1V15_SIGN(
|
||||||
mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac));
|
mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac));
|
||||||
@@ -1605,7 +1430,6 @@ psa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_c
|
|||||||
switch (info->key_exchange) {
|
switch (info->key_exchange) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_RSA:
|
||||||
return PSA_KEY_USAGE_DECRYPT;
|
return PSA_KEY_USAGE_DECRYPT;
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
||||||
return PSA_KEY_USAGE_SIGN_HASH;
|
return PSA_KEY_USAGE_SIGN_HASH;
|
||||||
@@ -1622,7 +1446,6 @@ psa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_c
|
|||||||
mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info)
|
mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info)
|
||||||
{
|
{
|
||||||
switch (info->key_exchange) {
|
switch (info->key_exchange) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
return MBEDTLS_PK_RSA;
|
return MBEDTLS_PK_RSA;
|
||||||
|
|
||||||
|
@@ -26,7 +26,6 @@ int mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t *info);
|
|||||||
static inline int mbedtls_ssl_ciphersuite_has_pfs(const mbedtls_ssl_ciphersuite_t *info)
|
static inline int mbedtls_ssl_ciphersuite_has_pfs(const mbedtls_ssl_ciphersuite_t *info)
|
||||||
{
|
{
|
||||||
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
||||||
@@ -73,7 +72,6 @@ static inline int mbedtls_ssl_ciphersuite_cert_req_allowed(const mbedtls_ssl_cip
|
|||||||
{
|
{
|
||||||
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
|
||||||
@@ -89,7 +87,6 @@ static inline int mbedtls_ssl_ciphersuite_uses_srv_cert(const mbedtls_ssl_cipher
|
|||||||
{
|
{
|
||||||
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
|
||||||
@@ -101,19 +98,6 @@ static inline int mbedtls_ssl_ciphersuite_uses_srv_cert(const mbedtls_ssl_cipher
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED)
|
|
||||||
static inline int mbedtls_ssl_ciphersuite_uses_dhe(const mbedtls_ssl_ciphersuite_t *info)
|
|
||||||
{
|
|
||||||
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED) */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED)
|
||||||
static inline int mbedtls_ssl_ciphersuite_uses_ecdhe(const mbedtls_ssl_ciphersuite_t *info)
|
static inline int mbedtls_ssl_ciphersuite_uses_ecdhe(const mbedtls_ssl_ciphersuite_t *info)
|
||||||
{
|
{
|
||||||
@@ -134,7 +118,6 @@ static inline int mbedtls_ssl_ciphersuite_uses_server_signature(
|
|||||||
const mbedtls_ssl_ciphersuite_t *info)
|
const mbedtls_ssl_ciphersuite_t *info)
|
||||||
{
|
{
|
||||||
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
switch (info->MBEDTLS_PRIVATE(key_exchange)) {
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -8791,7 +8791,6 @@ int mbedtls_ssl_check_cert_usage(const mbedtls_x509_crt *cert,
|
|||||||
usage = MBEDTLS_X509_KU_KEY_ENCIPHERMENT;
|
usage = MBEDTLS_X509_KU_KEY_ENCIPHERMENT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
|
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
|
||||||
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
|
||||||
usage = MBEDTLS_X509_KU_DIGITAL_SIGNATURE;
|
usage = MBEDTLS_X509_KU_DIGITAL_SIGNATURE;
|
||||||
|
@@ -1618,46 +1618,6 @@ static int ssl_parse_server_hello(mbedtls_ssl_context *ssl)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
MBEDTLS_CHECK_RETURN_CRITICAL
|
|
||||||
static int ssl_parse_server_dh_params(mbedtls_ssl_context *ssl,
|
|
||||||
unsigned char **p,
|
|
||||||
unsigned char *end)
|
|
||||||
{
|
|
||||||
int ret = MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE;
|
|
||||||
size_t dhm_actual_bitlen;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ephemeral DH parameters:
|
|
||||||
*
|
|
||||||
* struct {
|
|
||||||
* opaque dh_p<1..2^16-1>;
|
|
||||||
* opaque dh_g<1..2^16-1>;
|
|
||||||
* opaque dh_Ys<1..2^16-1>;
|
|
||||||
* } ServerDHParams;
|
|
||||||
*/
|
|
||||||
if ((ret = mbedtls_dhm_read_params(&ssl->handshake->dhm_ctx,
|
|
||||||
p, end)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(2, ("mbedtls_dhm_read_params"), ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
dhm_actual_bitlen = mbedtls_dhm_get_bitlen(&ssl->handshake->dhm_ctx);
|
|
||||||
if (dhm_actual_bitlen < ssl->conf->dhm_min_bitlen) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("DHM prime too short: %" MBEDTLS_PRINTF_SIZET " < %u",
|
|
||||||
dhm_actual_bitlen,
|
|
||||||
ssl->conf->dhm_min_bitlen));
|
|
||||||
return MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: P ", &ssl->handshake->dhm_ctx.P);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: G ", &ssl->handshake->dhm_ctx.G);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: GY", &ssl->handshake->dhm_ctx.GY);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
||||||
@@ -2047,18 +2007,6 @@ start_processing:
|
|||||||
; /* nothing more to do */
|
; /* nothing more to do */
|
||||||
} else
|
} else
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
|
#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
if (ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_DHE_RSA) {
|
|
||||||
if (ssl_parse_server_dh_params(ssl, &p, end) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("bad server key exchange message"));
|
|
||||||
mbedtls_ssl_send_alert_message(
|
|
||||||
ssl,
|
|
||||||
MBEDTLS_SSL_ALERT_LEVEL_FATAL,
|
|
||||||
MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER);
|
|
||||||
return MBEDTLS_ERR_SSL_ILLEGAL_PARAMETER;
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
|
||||||
@@ -2545,40 +2493,6 @@ static int ssl_write_client_key_exchange(mbedtls_ssl_context *ssl)
|
|||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(2, ("=> write client key exchange"));
|
MBEDTLS_SSL_DEBUG_MSG(2, ("=> write client key exchange"));
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
if (ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_DHE_RSA) {
|
|
||||||
/*
|
|
||||||
* DHM key exchange -- send G^X mod P
|
|
||||||
*/
|
|
||||||
content_len = mbedtls_dhm_get_len(&ssl->handshake->dhm_ctx);
|
|
||||||
|
|
||||||
MBEDTLS_PUT_UINT16_BE(content_len, ssl->out_msg, 4);
|
|
||||||
header_len = 6;
|
|
||||||
|
|
||||||
ret = mbedtls_dhm_make_public(&ssl->handshake->dhm_ctx,
|
|
||||||
(int) mbedtls_dhm_get_len(&ssl->handshake->dhm_ctx),
|
|
||||||
&ssl->out_msg[header_len], content_len,
|
|
||||||
ssl->conf->f_rng, ssl->conf->p_rng);
|
|
||||||
if (ret != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_make_public", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: X ", &ssl->handshake->dhm_ctx.X);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: GX", &ssl->handshake->dhm_ctx.GX);
|
|
||||||
|
|
||||||
if ((ret = mbedtls_dhm_calc_secret(&ssl->handshake->dhm_ctx,
|
|
||||||
ssl->handshake->premaster,
|
|
||||||
MBEDTLS_PREMASTER_SIZE,
|
|
||||||
&ssl->handshake->pmslen,
|
|
||||||
ssl->conf->f_rng, ssl->conf->p_rng)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_calc_secret", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: K ", &ssl->handshake->dhm_ctx.K);
|
|
||||||
} else
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
|
@@ -2803,57 +2803,6 @@ static int ssl_prepare_server_key_exchange(mbedtls_ssl_context *ssl,
|
|||||||
}
|
}
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
|
#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
|
||||||
|
|
||||||
/*
|
|
||||||
* - DHE key exchanges
|
|
||||||
*/
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED)
|
|
||||||
if (mbedtls_ssl_ciphersuite_uses_dhe(ciphersuite_info)) {
|
|
||||||
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
|
||||||
size_t len = 0;
|
|
||||||
|
|
||||||
if (ssl->conf->dhm_P.p == NULL || ssl->conf->dhm_G.p == NULL) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("no DH parameters set"));
|
|
||||||
return MBEDTLS_ERR_SSL_BAD_INPUT_DATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ephemeral DH parameters:
|
|
||||||
*
|
|
||||||
* struct {
|
|
||||||
* opaque dh_p<1..2^16-1>;
|
|
||||||
* opaque dh_g<1..2^16-1>;
|
|
||||||
* opaque dh_Ys<1..2^16-1>;
|
|
||||||
* } ServerDHParams;
|
|
||||||
*/
|
|
||||||
if ((ret = mbedtls_dhm_set_group(&ssl->handshake->dhm_ctx,
|
|
||||||
&ssl->conf->dhm_P,
|
|
||||||
&ssl->conf->dhm_G)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_set_group", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((ret = mbedtls_dhm_make_params(
|
|
||||||
&ssl->handshake->dhm_ctx,
|
|
||||||
(int) mbedtls_dhm_get_len(&ssl->handshake->dhm_ctx),
|
|
||||||
ssl->out_msg + ssl->out_msglen, &len,
|
|
||||||
ssl->conf->f_rng, ssl->conf->p_rng)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_make_params", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_WITH_SERVER_SIGNATURE_ENABLED)
|
|
||||||
dig_signed = ssl->out_msg + ssl->out_msglen;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ssl->out_msglen += len;
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: X ", &ssl->handshake->dhm_ctx.X);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: P ", &ssl->handshake->dhm_ctx.P);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: G ", &ssl->handshake->dhm_ctx.G);
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: GX", &ssl->handshake->dhm_ctx.GX);
|
|
||||||
}
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* - ECDHE key exchanges
|
* - ECDHE key exchanges
|
||||||
*/
|
*/
|
||||||
@@ -3254,43 +3203,6 @@ static int ssl_write_server_hello_done(mbedtls_ssl_context *ssl)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
MBEDTLS_CHECK_RETURN_CRITICAL
|
|
||||||
static int ssl_parse_client_dh_public(mbedtls_ssl_context *ssl, unsigned char **p,
|
|
||||||
const unsigned char *end)
|
|
||||||
{
|
|
||||||
int ret = MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE;
|
|
||||||
size_t n;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Receive G^Y mod P, premaster = (G^Y)^X mod P
|
|
||||||
*/
|
|
||||||
if (*p + 2 > end) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("bad client key exchange message"));
|
|
||||||
return MBEDTLS_ERR_SSL_DECODE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
n = MBEDTLS_GET_UINT16_BE(*p, 0);
|
|
||||||
*p += 2;
|
|
||||||
|
|
||||||
if (*p + n > end) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("bad client key exchange message"));
|
|
||||||
return MBEDTLS_ERR_SSL_DECODE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((ret = mbedtls_dhm_read_public(&ssl->handshake->dhm_ctx, *p, n)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_read_public", ret);
|
|
||||||
return MBEDTLS_ERR_SSL_DECODE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
*p += n;
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: GY", &ssl->handshake->dhm_ctx.GY);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
|
#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
|
||||||
@@ -3573,30 +3485,6 @@ static int ssl_parse_client_key_exchange(mbedtls_ssl_context *ssl)
|
|||||||
return MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE;
|
return MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
|
|
||||||
if (ciphersuite_info->key_exchange == MBEDTLS_KEY_EXCHANGE_DHE_RSA) {
|
|
||||||
if ((ret = ssl_parse_client_dh_public(ssl, &p, end)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, ("ssl_parse_client_dh_public"), ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p != end) {
|
|
||||||
MBEDTLS_SSL_DEBUG_MSG(1, ("bad client key exchange"));
|
|
||||||
return MBEDTLS_ERR_SSL_DECODE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((ret = mbedtls_dhm_calc_secret(&ssl->handshake->dhm_ctx,
|
|
||||||
ssl->handshake->premaster,
|
|
||||||
MBEDTLS_PREMASTER_SIZE,
|
|
||||||
&ssl->handshake->pmslen,
|
|
||||||
ssl->conf->f_rng, ssl->conf->p_rng)) != 0) {
|
|
||||||
MBEDTLS_SSL_DEBUG_RET(1, "mbedtls_dhm_calc_secret", ret);
|
|
||||||
return MBEDTLS_ERR_SSL_DECODE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
MBEDTLS_SSL_DEBUG_MPI(3, "DHM: K ", &ssl->handshake->dhm_ctx.K);
|
|
||||||
} else
|
|
||||||
#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
|
||||||
|
@@ -320,14 +320,6 @@ add_common_ciphersuites()
|
|||||||
|
|
||||||
"RSA")
|
"RSA")
|
||||||
CIPHERS="$CIPHERS \
|
CIPHERS="$CIPHERS \
|
||||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA \
|
|
||||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA \
|
|
||||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA \
|
|
||||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA \
|
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA \
|
||||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 \
|
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 \
|
||||||
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 \
|
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 \
|
||||||
@@ -393,9 +385,6 @@ add_openssl_ciphersuites()
|
|||||||
|
|
||||||
"RSA")
|
"RSA")
|
||||||
CIPHERS="$CIPHERS \
|
CIPHERS="$CIPHERS \
|
||||||
TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 \
|
|
||||||
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
|
|
||||||
TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 \
|
TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 \
|
||||||
TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 \
|
TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 \
|
||||||
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
|
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \
|
||||||
@@ -444,14 +433,6 @@ add_gnutls_ciphersuites()
|
|||||||
|
|
||||||
"RSA")
|
"RSA")
|
||||||
CIPHERS="$CIPHERS \
|
CIPHERS="$CIPHERS \
|
||||||
TLS_DHE_RSA_WITH_AES_128_CCM \
|
|
||||||
TLS_DHE_RSA_WITH_AES_128_CCM_8 \
|
|
||||||
TLS_DHE_RSA_WITH_AES_256_CCM \
|
|
||||||
TLS_DHE_RSA_WITH_AES_256_CCM_8 \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 \
|
|
||||||
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 \
|
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 \
|
||||||
TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 \
|
TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 \
|
||||||
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 \
|
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 \
|
||||||
@@ -523,8 +504,6 @@ add_mbedtls_ciphersuites()
|
|||||||
|
|
||||||
"RSA")
|
"RSA")
|
||||||
M_CIPHERS="$M_CIPHERS \
|
M_CIPHERS="$M_CIPHERS \
|
||||||
TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 \
|
|
||||||
TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 \
|
|
||||||
TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 \
|
TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 \
|
||||||
TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 \
|
TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 \
|
||||||
TLS_RSA_WITH_ARIA_128_CBC_SHA256 \
|
TLS_RSA_WITH_ARIA_128_CBC_SHA256 \
|
||||||
|
@@ -66,8 +66,7 @@
|
|||||||
|
|
||||||
#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
|
#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
|
||||||
|
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
|
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
|
||||||
#define MBEDTLS_CAN_HANDLE_RSA_TEST_KEY
|
#define MBEDTLS_CAN_HANDLE_RSA_TEST_KEY
|
||||||
#endif
|
#endif
|
||||||
|
@@ -671,9 +671,6 @@ component_test_psa_crypto_config_accel_ffdh () {
|
|||||||
# Disable the module that's accelerated
|
# Disable the module that's accelerated
|
||||||
scripts/config.py unset MBEDTLS_DHM_C
|
scripts/config.py unset MBEDTLS_DHM_C
|
||||||
|
|
||||||
# Disable things that depend on it
|
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
# -----
|
# -----
|
||||||
|
|
||||||
@@ -700,8 +697,6 @@ component_test_psa_crypto_config_reference_ffdh () {
|
|||||||
# Start with full (USE_PSA and TLS 1.3)
|
# Start with full (USE_PSA and TLS 1.3)
|
||||||
helper_libtestdriver1_adjust_config "full"
|
helper_libtestdriver1_adjust_config "full"
|
||||||
|
|
||||||
# Disable things that are not supported
|
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
make
|
make
|
||||||
|
|
||||||
msg "test suites: full with non-accelerated FFDH alg"
|
msg "test suites: full with non-accelerated FFDH alg"
|
||||||
@@ -1174,24 +1169,20 @@ config_psa_crypto_config_accel_ecc_ffdh_no_bignum () {
|
|||||||
scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
|
scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
|
||||||
# Also disable key exchanges that depend on RSA
|
# Also disable key exchanges that depend on RSA
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||||
|
|
||||||
if [ "$test_target" = "ECC" ]; then
|
if [ "$test_target" = "ECC" ]; then
|
||||||
# When testing ECC only, we disable FFDH support, both from builtin and
|
# When testing ECC only, we disable FFDH support, both from builtin and
|
||||||
# PSA sides, and also disable the key exchanges that depend on DHM.
|
# PSA sides.
|
||||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_FFDH
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_FFDH
|
||||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset-all "PSA_WANT_KEY_TYPE_DH_[0-9A-Z_a-z]*"
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset-all "PSA_WANT_KEY_TYPE_DH_[0-9A-Z_a-z]*"
|
||||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset-all "PSA_WANT_DH_RFC7919_[0-9]*"
|
scripts/config.py -f "$CRYPTO_CONFIG_H" unset-all "PSA_WANT_DH_RFC7919_[0-9]*"
|
||||||
scripts/config.py unset MBEDTLS_DHM_C
|
scripts/config.py unset MBEDTLS_DHM_C
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
else
|
else
|
||||||
# When testing ECC and DH instead, we disable DHM and depending key
|
# When testing ECC and DH instead, we disable DHM.
|
||||||
# exchanges only in the accelerated build
|
|
||||||
if [ "$driver_only" -eq 1 ]; then
|
if [ "$driver_only" -eq 1 ]; then
|
||||||
scripts/config.py unset MBEDTLS_DHM_C
|
scripts/config.py unset MBEDTLS_DHM_C
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1543,7 +1534,6 @@ component_test_new_psa_want_key_pair_symbol () {
|
|||||||
# Remove RSA support and its dependencies
|
# Remove RSA support and its dependencies
|
||||||
scripts/config.py unset MBEDTLS_PKCS1_V15
|
scripts/config.py unset MBEDTLS_PKCS1_V15
|
||||||
scripts/config.py unset MBEDTLS_PKCS1_V21
|
scripts/config.py unset MBEDTLS_PKCS1_V21
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
||||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||||
|
@@ -314,8 +314,7 @@ REVERSE_DEPENDENCIES = {
|
|||||||
'MBEDTLS_PKCS1_V21': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT',
|
'MBEDTLS_PKCS1_V21': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT',
|
||||||
'PSA_WANT_ALG_RSA_OAEP',
|
'PSA_WANT_ALG_RSA_OAEP',
|
||||||
'PSA_WANT_ALG_RSA_PSS'],
|
'PSA_WANT_ALG_RSA_PSS'],
|
||||||
'MBEDTLS_PKCS1_V15': ['MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED',
|
'MBEDTLS_PKCS1_V15': ['MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED',
|
||||||
'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED',
|
|
||||||
'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
|
'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED',
|
||||||
'PSA_WANT_ALG_RSA_PKCS1V15_CRYPT',
|
'PSA_WANT_ALG_RSA_PKCS1V15_CRYPT',
|
||||||
'PSA_WANT_ALG_RSA_PKCS1V15_SIGN'],
|
'PSA_WANT_ALG_RSA_PKCS1V15_SIGN'],
|
||||||
|
@@ -310,7 +310,6 @@ requires_any_configs_disabled() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TLS1_2_KEY_EXCHANGES_WITH_CERT="MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \
|
TLS1_2_KEY_EXCHANGES_WITH_CERT="MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \
|
||||||
MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED \
|
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
|
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED \
|
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED \
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED \
|
MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED \
|
||||||
@@ -320,7 +319,6 @@ TLS1_2_KEY_EXCHANGES_WITH_ECDSA_CERT="MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED \
|
|||||||
MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED"
|
MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED"
|
||||||
|
|
||||||
TLS1_2_KEY_EXCHANGES_WITH_CERT_WO_ECDH="MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \
|
TLS1_2_KEY_EXCHANGES_WITH_CERT_WO_ECDH="MBEDTLS_KEY_EXCHANGE_RSA_ENABLED \
|
||||||
MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED \
|
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
|
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED \
|
||||||
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED"
|
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED"
|
||||||
|
|
||||||
@@ -7732,12 +7730,12 @@ run_test "ALPN: both, no common" \
|
|||||||
# In 4.0 this will probably go away as all TLS 1.2 key exchanges will use
|
# In 4.0 this will probably go away as all TLS 1.2 key exchanges will use
|
||||||
# signatures too, following the removal of RSA #8170 and static ECDH #9201.
|
# signatures too, following the removal of RSA #8170 and static ECDH #9201.
|
||||||
|
|
||||||
run_test "keyUsage srv 1.2: RSA, digitalSignature -> (EC)DHE-RSA" \
|
run_test "keyUsage srv 1.2: RSA, digitalSignature -> ECDHE-RSA" \
|
||||||
"$P_SRV force_version=tls12 key_file=$DATA_FILES_PATH/server2.key \
|
"$P_SRV force_version=tls12 key_file=$DATA_FILES_PATH/server2.key \
|
||||||
crt_file=$DATA_FILES_PATH/server2.ku-ds.crt" \
|
crt_file=$DATA_FILES_PATH/server2.ku-ds.crt" \
|
||||||
"$P_CLI" \
|
"$P_CLI" \
|
||||||
0 \
|
0 \
|
||||||
-c "Ciphersuite is TLS-[EC]*DHE-RSA-WITH-"
|
-c "Ciphersuite is TLS-ECDHE-RSA-WITH-"
|
||||||
|
|
||||||
run_test "keyUsage srv 1.2: RSA, keyEncipherment -> RSA" \
|
run_test "keyUsage srv 1.2: RSA, keyEncipherment -> RSA" \
|
||||||
"$P_SRV force_version=tls12 key_file=$DATA_FILES_PATH/server2.key \
|
"$P_SRV force_version=tls12 key_file=$DATA_FILES_PATH/server2.key \
|
||||||
@@ -8940,7 +8938,7 @@ requires_config_enabled MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
|||||||
requires_gnutls
|
requires_gnutls
|
||||||
run_test "ClientHello without extensions: PSK" \
|
run_test "ClientHello without extensions: PSK" \
|
||||||
"$P_SRV force_version=tls12 debug_level=3 psk=73776f726466697368" \
|
"$P_SRV force_version=tls12 debug_level=3 psk=73776f726466697368" \
|
||||||
"$G_CLI --priority=NORMAL:+PSK:-RSA:-DHE-RSA:%NO_EXTENSIONS:%DISABLE_SAFE_RENEGOTIATION --pskusername=Client_identity --pskkey=73776f726466697368 localhost" \
|
"$G_CLI --priority=NORMAL:+PSK:-RSA:%NO_EXTENSIONS:%DISABLE_SAFE_RENEGOTIATION --pskusername=Client_identity --pskkey=73776f726466697368 localhost" \
|
||||||
0 \
|
0 \
|
||||||
-s "Ciphersuite is .*-PSK-.*" \
|
-s "Ciphersuite is .*-PSK-.*" \
|
||||||
-S "Ciphersuite is .*-EC.*" \
|
-S "Ciphersuite is .*-EC.*" \
|
||||||
|
@@ -417,7 +417,6 @@ depends_on:PSA_WANT_KEY_TYPE_AES:PSA_WANT_ALG_CBC_NO_PADDING:MBEDTLS_RSA_C:PSA_W
|
|||||||
handshake_psk_cipher:"TLS-PSK-WITH-AES-128-CBC-SHA":MBEDTLS_PK_RSA:"abc123":1
|
handshake_psk_cipher:"TLS-PSK-WITH-AES-128-CBC-SHA":MBEDTLS_PK_RSA:"abc123":1
|
||||||
|
|
||||||
DTLS Handshake with serialization, tls1_2
|
DTLS Handshake with serialization, tls1_2
|
||||||
depends_on:MBEDTLS_RSA_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_SSL_PROTO_DTLS
|
|
||||||
handshake_serialization
|
handshake_serialization
|
||||||
|
|
||||||
DTLS Handshake fragmentation, MFL=512
|
DTLS Handshake fragmentation, MFL=512
|
||||||
|
@@ -63,6 +63,10 @@ exit:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PSA_WANT_ALG_GCM) || defined(PSA_WANT_ALG_CHACHA20_POLY1305)
|
||||||
|
#define TEST_GCM_OR_CHACHAPOLY_ENABLED
|
||||||
|
#endif
|
||||||
|
|
||||||
/* END_HEADER */
|
/* END_HEADER */
|
||||||
|
|
||||||
/* BEGIN_DEPENDENCIES
|
/* BEGIN_DEPENDENCIES
|
||||||
@@ -2744,7 +2748,7 @@ void app_data_dtls(int mfl, int cli_msg_len, int srv_msg_len,
|
|||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_CONTEXT_SERIALIZATION:PSA_WANT_ALG_SHA_256:MBEDTLS_CAN_HANDLE_RSA_TEST_KEY */
|
/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_SSL_PROTO_DTLS:MBEDTLS_SSL_RENEGOTIATION:MBEDTLS_SSL_CONTEXT_SERIALIZATION:PSA_WANT_ALG_SHA_256:MBEDTLS_CAN_HANDLE_RSA_TEST_KEY:TEST_GCM_OR_CHACHAPOLY_ENABLED */
|
||||||
void handshake_serialization()
|
void handshake_serialization()
|
||||||
{
|
{
|
||||||
mbedtls_test_handshake_test_options options;
|
mbedtls_test_handshake_test_options options;
|
||||||
|
Submodule tf-psa-crypto updated: d6031a2ad2...dcbe6fc1da
Reference in New Issue
Block a user