1a8e1175bSopenharmony_ci/** 2a8e1175bSopenharmony_ci * \file ssl_ciphersuites.c 3a8e1175bSopenharmony_ci * 4a8e1175bSopenharmony_ci * \brief SSL ciphersuites for Mbed TLS 5a8e1175bSopenharmony_ci * 6a8e1175bSopenharmony_ci * Copyright The Mbed TLS Contributors 7a8e1175bSopenharmony_ci * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 8a8e1175bSopenharmony_ci */ 9a8e1175bSopenharmony_ci 10a8e1175bSopenharmony_ci#include "common.h" 11a8e1175bSopenharmony_ci 12a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_TLS_C) 13a8e1175bSopenharmony_ci 14a8e1175bSopenharmony_ci#include "mbedtls/platform.h" 15a8e1175bSopenharmony_ci 16a8e1175bSopenharmony_ci#include "mbedtls/ssl_ciphersuites.h" 17a8e1175bSopenharmony_ci#include "mbedtls/ssl.h" 18a8e1175bSopenharmony_ci#include "ssl_misc.h" 19a8e1175bSopenharmony_ci#if defined(MBEDTLS_USE_PSA_CRYPTO) 20a8e1175bSopenharmony_ci#include "mbedtls/psa_util.h" 21a8e1175bSopenharmony_ci#endif 22a8e1175bSopenharmony_ci 23a8e1175bSopenharmony_ci#include <string.h> 24a8e1175bSopenharmony_ci 25a8e1175bSopenharmony_ci/* 26a8e1175bSopenharmony_ci * Ordered from most preferred to least preferred in terms of security. 27a8e1175bSopenharmony_ci * 28a8e1175bSopenharmony_ci * Current rule (except weak and null which come last): 29a8e1175bSopenharmony_ci * 1. By key exchange: 30a8e1175bSopenharmony_ci * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK 31a8e1175bSopenharmony_ci * 2. By key length and cipher: 32a8e1175bSopenharmony_ci * ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128 33a8e1175bSopenharmony_ci * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8 34a8e1175bSopenharmony_ci * 4. By hash function used when relevant 35a8e1175bSopenharmony_ci * 5. By key exchange/auth again: EC > non-EC 36a8e1175bSopenharmony_ci */ 37a8e1175bSopenharmony_cistatic const int ciphersuite_preference[] = 38a8e1175bSopenharmony_ci{ 39a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_CIPHERSUITES) 40a8e1175bSopenharmony_ci MBEDTLS_SSL_CIPHERSUITES, 41a8e1175bSopenharmony_ci#else 42a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_PROTO_TLS1_3) 43a8e1175bSopenharmony_ci /* TLS 1.3 ciphersuites */ 44a8e1175bSopenharmony_ci MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256, 45a8e1175bSopenharmony_ci MBEDTLS_TLS1_3_AES_256_GCM_SHA384, 46a8e1175bSopenharmony_ci MBEDTLS_TLS1_3_AES_128_GCM_SHA256, 47a8e1175bSopenharmony_ci MBEDTLS_TLS1_3_AES_128_CCM_SHA256, 48a8e1175bSopenharmony_ci MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256, 49a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ 50a8e1175bSopenharmony_ci 51a8e1175bSopenharmony_ci /* Chacha-Poly ephemeral suites */ 52a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, 53a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, 54a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, 55a8e1175bSopenharmony_ci 56a8e1175bSopenharmony_ci /* All AES-256 ephemeral suites */ 57a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 58a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 59a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 60a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, 61a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, 62a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 63a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, 64a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, 65a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, 66a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 67a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 68a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, 69a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, 70a8e1175bSopenharmony_ci 71a8e1175bSopenharmony_ci /* All CAMELLIA-256 ephemeral suites */ 72a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 73a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 74a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 75a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 76a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, 77a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, 78a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, 79a8e1175bSopenharmony_ci 80a8e1175bSopenharmony_ci /* All ARIA-256 ephemeral suites */ 81a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384, 82a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384, 83a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384, 84a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, 85a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, 86a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, 87a8e1175bSopenharmony_ci 88a8e1175bSopenharmony_ci /* All AES-128 ephemeral suites */ 89a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 90a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 91a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 92a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, 93a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, 94a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 95a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 96a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, 97a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, 98a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 99a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 100a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, 101a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, 102a8e1175bSopenharmony_ci 103a8e1175bSopenharmony_ci /* All CAMELLIA-128 ephemeral suites */ 104a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 105a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 106a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 107a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 108a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 109a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 110a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, 111a8e1175bSopenharmony_ci 112a8e1175bSopenharmony_ci /* All ARIA-128 ephemeral suites */ 113a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256, 114a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256, 115a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256, 116a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, 117a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, 118a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, 119a8e1175bSopenharmony_ci 120a8e1175bSopenharmony_ci /* The PSK ephemeral suites */ 121a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256, 122a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256, 123a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, 124a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, 125a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, 126a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, 127a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, 128a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, 129a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, 130a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 131a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 132a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, 133a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384, 134a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, 135a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, 136a8e1175bSopenharmony_ci 137a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, 138a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, 139a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, 140a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, 141a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, 142a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, 143a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, 144a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 145a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 146a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, 147a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256, 148a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, 149a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, 150a8e1175bSopenharmony_ci 151a8e1175bSopenharmony_ci /* The ECJPAKE suite */ 152a8e1175bSopenharmony_ci MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, 153a8e1175bSopenharmony_ci 154a8e1175bSopenharmony_ci /* All AES-256 suites */ 155a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, 156a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_256_CCM, 157a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, 158a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, 159a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, 160a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 161a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, 162a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 163a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, 164a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 165a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, 166a8e1175bSopenharmony_ci 167a8e1175bSopenharmony_ci /* All CAMELLIA-256 suites */ 168a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, 169a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, 170a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, 171a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, 172a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, 173a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 174a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 175a8e1175bSopenharmony_ci 176a8e1175bSopenharmony_ci /* All ARIA-256 suites */ 177a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, 178a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, 179a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384, 180a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, 181a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, 182a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384, 183a8e1175bSopenharmony_ci 184a8e1175bSopenharmony_ci /* All AES-128 suites */ 185a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, 186a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_128_CCM, 187a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, 188a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, 189a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, 190a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 191a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, 192a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 193a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, 194a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 195a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, 196a8e1175bSopenharmony_ci 197a8e1175bSopenharmony_ci /* All CAMELLIA-128 suites */ 198a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, 199a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, 200a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, 201a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, 202a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, 203a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 204a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 205a8e1175bSopenharmony_ci 206a8e1175bSopenharmony_ci /* All ARIA-128 suites */ 207a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, 208a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, 209a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256, 210a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, 211a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, 212a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256, 213a8e1175bSopenharmony_ci 214a8e1175bSopenharmony_ci /* The RSA PSK suites */ 215a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256, 216a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, 217a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, 218a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, 219a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, 220a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, 221a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, 222a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, 223a8e1175bSopenharmony_ci 224a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, 225a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, 226a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, 227a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, 228a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, 229a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, 230a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, 231a8e1175bSopenharmony_ci 232a8e1175bSopenharmony_ci /* The PSK suites */ 233a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256, 234a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, 235a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_256_CCM, 236a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, 237a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, 238a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, 239a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, 240a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, 241a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384, 242a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384, 243a8e1175bSopenharmony_ci 244a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, 245a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_128_CCM, 246a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, 247a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, 248a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, 249a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, 250a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, 251a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256, 252a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256, 253a8e1175bSopenharmony_ci 254a8e1175bSopenharmony_ci /* NULL suites */ 255a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, 256a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, 257a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, 258a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, 259a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, 260a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, 261a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, 262a8e1175bSopenharmony_ci MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, 263a8e1175bSopenharmony_ci 264a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_NULL_SHA256, 265a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_NULL_SHA, 266a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_WITH_NULL_MD5, 267a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, 268a8e1175bSopenharmony_ci MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, 269a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, 270a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, 271a8e1175bSopenharmony_ci MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, 272a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_NULL_SHA384, 273a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_NULL_SHA256, 274a8e1175bSopenharmony_ci MBEDTLS_TLS_PSK_WITH_NULL_SHA, 275a8e1175bSopenharmony_ci 276a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_CIPHERSUITES */ 277a8e1175bSopenharmony_ci 0 278a8e1175bSopenharmony_ci}; 279a8e1175bSopenharmony_ci 280a8e1175bSopenharmony_cistatic const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 281a8e1175bSopenharmony_ci{ 282a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_PROTO_TLS1_3) 283a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 284a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 285a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 286a8e1175bSopenharmony_ci { MBEDTLS_TLS1_3_AES_256_GCM_SHA384, "TLS1-3-AES-256-GCM-SHA384", 287a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, 288a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 289a8e1175bSopenharmony_ci 0, 290a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, 291a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 292a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 293a8e1175bSopenharmony_ci { MBEDTLS_TLS1_3_AES_128_GCM_SHA256, "TLS1-3-AES-128-GCM-SHA256", 294a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, 295a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 296a8e1175bSopenharmony_ci 0, 297a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, 298a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 299a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 300a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) && defined(MBEDTLS_MD_CAN_SHA256) 301a8e1175bSopenharmony_ci { MBEDTLS_TLS1_3_AES_128_CCM_SHA256, "TLS1-3-AES-128-CCM-SHA256", 302a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, 303a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 304a8e1175bSopenharmony_ci 0, 305a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, 306a8e1175bSopenharmony_ci { MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256, "TLS1-3-AES-128-CCM-8-SHA256", 307a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, 308a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 309a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 310a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, 311a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 && MBEDTLS_SSL_HAVE_CCM */ 312a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 313a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY) && defined(MBEDTLS_MD_CAN_SHA256) 314a8e1175bSopenharmony_ci { MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256, 315a8e1175bSopenharmony_ci "TLS1-3-CHACHA20-POLY1305-SHA256", 316a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 317a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */ 318a8e1175bSopenharmony_ci 0, 319a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 }, 320a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CHACHAPOLY && MBEDTLS_MD_CAN_SHA256 */ 321a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ 322a8e1175bSopenharmony_ci 323a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY) && \ 324a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256) && \ 325a8e1175bSopenharmony_ci defined(MBEDTLS_SSL_PROTO_TLS1_2) 326a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 327a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, 328a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256", 329a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 330a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 331a8e1175bSopenharmony_ci 0, 332a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 333a8e1175bSopenharmony_ci#endif 334a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 335a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, 336a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256", 337a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 338a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 339a8e1175bSopenharmony_ci 0, 340a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 341a8e1175bSopenharmony_ci#endif 342a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 343a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, 344a8e1175bSopenharmony_ci "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256", 345a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 346a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_DHE_RSA, 347a8e1175bSopenharmony_ci 0, 348a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 349a8e1175bSopenharmony_ci#endif 350a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 351a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256, 352a8e1175bSopenharmony_ci "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256", 353a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 354a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_PSK, 355a8e1175bSopenharmony_ci 0, 356a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 357a8e1175bSopenharmony_ci#endif 358a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 359a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256, 360a8e1175bSopenharmony_ci "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256", 361a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 362a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 363a8e1175bSopenharmony_ci 0, 364a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 365a8e1175bSopenharmony_ci#endif 366a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 367a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256, 368a8e1175bSopenharmony_ci "TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256", 369a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 370a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_DHE_PSK, 371a8e1175bSopenharmony_ci 0, 372a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 373a8e1175bSopenharmony_ci#endif 374a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 375a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256, 376a8e1175bSopenharmony_ci "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256", 377a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256, 378a8e1175bSopenharmony_ci MBEDTLS_KEY_EXCHANGE_RSA_PSK, 379a8e1175bSopenharmony_ci 0, 380a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 381a8e1175bSopenharmony_ci#endif 382a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CHACHAPOLY && 383a8e1175bSopenharmony_ci MBEDTLS_MD_CAN_SHA256 && 384a8e1175bSopenharmony_ci MBEDTLS_SSL_PROTO_TLS1_2 */ 385a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 386a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 387a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 388a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 389a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", 390a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 391a8e1175bSopenharmony_ci 0, 392a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 393a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA", 394a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 395a8e1175bSopenharmony_ci 0, 396a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 397a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 398a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 399a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 400a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 401a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", 402a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 403a8e1175bSopenharmony_ci 0, 404a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 405a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 406a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 407a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256", 408a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 409a8e1175bSopenharmony_ci 0, 410a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 411a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 412a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 413a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 414a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 415a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", 416a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 417a8e1175bSopenharmony_ci 0, 418a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 419a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 420a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 421a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384", 422a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 423a8e1175bSopenharmony_ci 0, 424a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 425a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 426a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 427a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 428a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", 429a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 430a8e1175bSopenharmony_ci 0, 431a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 432a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8", 433a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 434a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 435a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 436a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM", 437a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 438a8e1175bSopenharmony_ci 0, 439a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 440a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8", 441a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 442a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 443a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 444a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 445a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 446a8e1175bSopenharmony_ci 447a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 448a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 449a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 450a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 451a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 452a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 453a8e1175bSopenharmony_ci 0, 454a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 455a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 456a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 457a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 458a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 459a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 460a8e1175bSopenharmony_ci 0, 461a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 462a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 463a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 464a8e1175bSopenharmony_ci 465a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 466a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 467a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 468a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 469a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 470a8e1175bSopenharmony_ci 0, 471a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 472a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 473a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 474a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 475a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 476a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 477a8e1175bSopenharmony_ci 0, 478a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 479a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 480a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 481a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 482a8e1175bSopenharmony_ci 483a8e1175bSopenharmony_ci#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 484a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 485a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA", 486a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 487a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 488a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 489a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 490a8e1175bSopenharmony_ci#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 491a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 492a8e1175bSopenharmony_ci 493a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 494a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 495a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 496a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 497a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", 498a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 499a8e1175bSopenharmony_ci 0, 500a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 501a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA", 502a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 503a8e1175bSopenharmony_ci 0, 504a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 505a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 506a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 507a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 508a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 509a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", 510a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 511a8e1175bSopenharmony_ci 0, 512a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 513a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 514a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 515a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256", 516a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 517a8e1175bSopenharmony_ci 0, 518a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 519a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 520a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 521a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 522a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 523a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", 524a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 525a8e1175bSopenharmony_ci 0, 526a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 527a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 528a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 529a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384", 530a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 531a8e1175bSopenharmony_ci 0, 532a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 533a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 534a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 535a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 536a8e1175bSopenharmony_ci 537a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 538a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 539a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 540a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 541a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 542a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 543a8e1175bSopenharmony_ci 0, 544a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 545a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 546a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 547a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, 548a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384", 549a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 550a8e1175bSopenharmony_ci 0, 551a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 552a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 553a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 554a8e1175bSopenharmony_ci 555a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 556a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 557a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 558a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 559a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 560a8e1175bSopenharmony_ci 0, 561a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 562a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 563a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 564a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 565a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 566a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 567a8e1175bSopenharmony_ci 0, 568a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 569a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 570a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 571a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 572a8e1175bSopenharmony_ci 573a8e1175bSopenharmony_ci#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 574a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 575a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA", 576a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 577a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 578a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 579a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 580a8e1175bSopenharmony_ci#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 581a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 582a8e1175bSopenharmony_ci 583a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 584a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 585a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) && \ 586a8e1175bSopenharmony_ci defined(MBEDTLS_SSL_HAVE_GCM) 587a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", 588a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 589a8e1175bSopenharmony_ci 0, 590a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 591a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 && MBEDTLS_SSL_HAVE_GCM */ 592a8e1175bSopenharmony_ci 593a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 594a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 595a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", 596a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 597a8e1175bSopenharmony_ci 0, 598a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 599a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 600a8e1175bSopenharmony_ci 601a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 602a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256", 603a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 604a8e1175bSopenharmony_ci 0, 605a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 606a8e1175bSopenharmony_ci 607a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256", 608a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 609a8e1175bSopenharmony_ci 0, 610a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 611a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 612a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 613a8e1175bSopenharmony_ci 614a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 615a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 616a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", 617a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 618a8e1175bSopenharmony_ci 0, 619a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 620a8e1175bSopenharmony_ci 621a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA", 622a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 623a8e1175bSopenharmony_ci 0, 624a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 625a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 626a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 627a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 628a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM", 629a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 630a8e1175bSopenharmony_ci 0, 631a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 632a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8", 633a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 634a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 635a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 636a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM", 637a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 638a8e1175bSopenharmony_ci 0, 639a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 640a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8", 641a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 642a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 643a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 644a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 645a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 646a8e1175bSopenharmony_ci 647a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 648a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 649a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 650a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 651a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 652a8e1175bSopenharmony_ci 0, 653a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 654a8e1175bSopenharmony_ci 655a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256", 656a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 657a8e1175bSopenharmony_ci 0, 658a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 659a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 660a8e1175bSopenharmony_ci 661a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 662a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", 663a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 664a8e1175bSopenharmony_ci 0, 665a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 666a8e1175bSopenharmony_ci 667a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA", 668a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 669a8e1175bSopenharmony_ci 0, 670a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 671a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 672a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 673a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 674a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 675a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 676a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 677a8e1175bSopenharmony_ci 0, 678a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 679a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 680a8e1175bSopenharmony_ci 681a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 682a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 683a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 684a8e1175bSopenharmony_ci 0, 685a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 686a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 687a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 688a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 689a8e1175bSopenharmony_ci 690a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 691a8e1175bSopenharmony_ci 692a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 693a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 694a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) && \ 695a8e1175bSopenharmony_ci defined(MBEDTLS_SSL_HAVE_GCM) 696a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384", 697a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 698a8e1175bSopenharmony_ci 0, 699a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 700a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 && MBEDTLS_SSL_HAVE_GCM */ 701a8e1175bSopenharmony_ci 702a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 703a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 704a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256", 705a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 706a8e1175bSopenharmony_ci 0, 707a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 708a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 709a8e1175bSopenharmony_ci 710a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 711a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256", 712a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 713a8e1175bSopenharmony_ci 0, 714a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 715a8e1175bSopenharmony_ci 716a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256", 717a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 718a8e1175bSopenharmony_ci 0, 719a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 720a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 721a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 722a8e1175bSopenharmony_ci 723a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 724a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 725a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA", 726a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 727a8e1175bSopenharmony_ci 0, 728a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 729a8e1175bSopenharmony_ci 730a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA", 731a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 732a8e1175bSopenharmony_ci 0, 733a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 734a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 735a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 736a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 737a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM", 738a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 739a8e1175bSopenharmony_ci 0, 740a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 741a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8", 742a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 743a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 744a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 745a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM", 746a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 747a8e1175bSopenharmony_ci 0, 748a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 749a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8", 750a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 751a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 752a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 753a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 754a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 755a8e1175bSopenharmony_ci 756a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 757a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 758a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 759a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", 760a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 761a8e1175bSopenharmony_ci 0, 762a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 763a8e1175bSopenharmony_ci 764a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256", 765a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 766a8e1175bSopenharmony_ci 0, 767a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 768a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 769a8e1175bSopenharmony_ci 770a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 771a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", 772a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 773a8e1175bSopenharmony_ci 0, 774a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 775a8e1175bSopenharmony_ci 776a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA", 777a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 778a8e1175bSopenharmony_ci 0, 779a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 780a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 781a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 782a8e1175bSopenharmony_ci 783a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 784a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 785a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", 786a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 787a8e1175bSopenharmony_ci 0, 788a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 789a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 790a8e1175bSopenharmony_ci 791a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 792a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", 793a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 794a8e1175bSopenharmony_ci 0, 795a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 796a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 797a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 798a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 799a8e1175bSopenharmony_ci 800a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 801a8e1175bSopenharmony_ci 802a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 803a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 804a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 805a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 806a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", 807a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 808a8e1175bSopenharmony_ci 0, 809a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 810a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA", 811a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 812a8e1175bSopenharmony_ci 0, 813a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 814a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 815a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 816a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 817a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 818a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", 819a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 820a8e1175bSopenharmony_ci 0, 821a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 822a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 823a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 824a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256", 825a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 826a8e1175bSopenharmony_ci 0, 827a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 828a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 829a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 830a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 831a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 832a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", 833a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 834a8e1175bSopenharmony_ci 0, 835a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 836a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 837a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 838a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384", 839a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 840a8e1175bSopenharmony_ci 0, 841a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 842a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 843a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 844a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 845a8e1175bSopenharmony_ci 846a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 847a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 848a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 849a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, 850a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256", 851a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 852a8e1175bSopenharmony_ci 0, 853a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 854a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 855a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 856a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, 857a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384", 858a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 859a8e1175bSopenharmony_ci 0, 860a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 861a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 862a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 863a8e1175bSopenharmony_ci 864a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 865a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 866a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, 867a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256", 868a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 869a8e1175bSopenharmony_ci 0, 870a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 871a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 872a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 873a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, 874a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384", 875a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 876a8e1175bSopenharmony_ci 0, 877a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 878a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 879a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 880a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 881a8e1175bSopenharmony_ci 882a8e1175bSopenharmony_ci#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 883a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 884a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA", 885a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 886a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 887a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 888a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 889a8e1175bSopenharmony_ci#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 890a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 891a8e1175bSopenharmony_ci 892a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 893a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 894a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 895a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 896a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", 897a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 898a8e1175bSopenharmony_ci 0, 899a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 900a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA", 901a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 902a8e1175bSopenharmony_ci 0, 903a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 904a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 905a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 906a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 907a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 908a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", 909a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 910a8e1175bSopenharmony_ci 0, 911a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 912a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 913a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 914a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256", 915a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 916a8e1175bSopenharmony_ci 0, 917a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 918a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 919a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 920a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 921a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 922a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", 923a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 924a8e1175bSopenharmony_ci 0, 925a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 926a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 927a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 928a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384", 929a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 930a8e1175bSopenharmony_ci 0, 931a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 932a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 933a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 934a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 935a8e1175bSopenharmony_ci 936a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 937a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 938a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 939a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 940a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 941a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 942a8e1175bSopenharmony_ci 0, 943a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 944a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 945a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 946a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 947a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 948a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 949a8e1175bSopenharmony_ci 0, 950a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 951a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 952a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 953a8e1175bSopenharmony_ci 954a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 955a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 956a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 957a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 958a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 959a8e1175bSopenharmony_ci 0, 960a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 961a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 962a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 963a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 964a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 965a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 966a8e1175bSopenharmony_ci 0, 967a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 968a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 969a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 970a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 971a8e1175bSopenharmony_ci 972a8e1175bSopenharmony_ci#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 973a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 974a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA", 975a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 976a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 977a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 978a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 979a8e1175bSopenharmony_ci#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 980a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 981a8e1175bSopenharmony_ci 982a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 983a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 984a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 985a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 986a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256", 987a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 988a8e1175bSopenharmony_ci 0, 989a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 990a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 991a8e1175bSopenharmony_ci 992a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 993a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384", 994a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 995a8e1175bSopenharmony_ci 0, 996a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 997a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 998a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 999a8e1175bSopenharmony_ci 1000a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1001a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1002a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256", 1003a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1004a8e1175bSopenharmony_ci 0, 1005a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1006a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1007a8e1175bSopenharmony_ci 1008a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1009a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384", 1010a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1011a8e1175bSopenharmony_ci 0, 1012a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1013a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1014a8e1175bSopenharmony_ci 1015a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1016a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA", 1017a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1018a8e1175bSopenharmony_ci 0, 1019a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1020a8e1175bSopenharmony_ci 1021a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA", 1022a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1023a8e1175bSopenharmony_ci 0, 1024a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1025a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1026a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1027a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 1028a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM", 1029a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1030a8e1175bSopenharmony_ci 0, 1031a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1032a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8", 1033a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1034a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 1035a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1036a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM", 1037a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1038a8e1175bSopenharmony_ci 0, 1039a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1040a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8", 1041a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1042a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 1043a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1044a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 1045a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 1046a8e1175bSopenharmony_ci 1047a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 1048a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1049a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1050a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1051a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1052a8e1175bSopenharmony_ci 0, 1053a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1054a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1055a8e1175bSopenharmony_ci 1056a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1057a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1058a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1059a8e1175bSopenharmony_ci 0, 1060a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1061a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1062a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1063a8e1175bSopenharmony_ci 1064a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 1065a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1066a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1067a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1068a8e1175bSopenharmony_ci 0, 1069a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1070a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1071a8e1175bSopenharmony_ci 1072a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1073a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1074a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1075a8e1175bSopenharmony_ci 0, 1076a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1077a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1078a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 1079a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 1080a8e1175bSopenharmony_ci 1081a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 1082a8e1175bSopenharmony_ci 1083a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 1084a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 1085a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 1086a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1087a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", 1088a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1089a8e1175bSopenharmony_ci 0, 1090a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1091a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1092a8e1175bSopenharmony_ci 1093a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1094a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", 1095a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1096a8e1175bSopenharmony_ci 0, 1097a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1098a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1099a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 1100a8e1175bSopenharmony_ci 1101a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1102a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1103a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", 1104a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1105a8e1175bSopenharmony_ci 0, 1106a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1107a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1108a8e1175bSopenharmony_ci 1109a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1110a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", 1111a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1112a8e1175bSopenharmony_ci 0, 1113a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1114a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1115a8e1175bSopenharmony_ci 1116a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1117a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", 1118a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1119a8e1175bSopenharmony_ci 0, 1120a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1121a8e1175bSopenharmony_ci 1122a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA", 1123a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1124a8e1175bSopenharmony_ci 0, 1125a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1126a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1127a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1128a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 1129a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM", 1130a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1131a8e1175bSopenharmony_ci 0, 1132a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1133a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8", 1134a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1135a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 1136a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1137a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM", 1138a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1139a8e1175bSopenharmony_ci 0, 1140a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1141a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8", 1142a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1143a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 1144a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1145a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 1146a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 1147a8e1175bSopenharmony_ci 1148a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 1149a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1150a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1151a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1152a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1153a8e1175bSopenharmony_ci 0, 1154a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1155a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1156a8e1175bSopenharmony_ci 1157a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1158a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1159a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1160a8e1175bSopenharmony_ci 0, 1161a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1162a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1163a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1164a8e1175bSopenharmony_ci 1165a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 1166a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1167a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1168a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1169a8e1175bSopenharmony_ci 0, 1170a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1171a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1172a8e1175bSopenharmony_ci 1173a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1174a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1175a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1176a8e1175bSopenharmony_ci 0, 1177a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1178a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1179a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 1180a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 1181a8e1175bSopenharmony_ci 1182a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 1183a8e1175bSopenharmony_ci 1184a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 1185a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 1186a8e1175bSopenharmony_ci 1187a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1188a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1189a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", 1190a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1191a8e1175bSopenharmony_ci 0, 1192a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1193a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1194a8e1175bSopenharmony_ci 1195a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1196a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", 1197a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1198a8e1175bSopenharmony_ci 0, 1199a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1200a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1201a8e1175bSopenharmony_ci 1202a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1203a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", 1204a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1205a8e1175bSopenharmony_ci 0, 1206a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1207a8e1175bSopenharmony_ci 1208a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA", 1209a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1210a8e1175bSopenharmony_ci 0, 1211a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1212a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1213a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1214a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 1215a8e1175bSopenharmony_ci 1216a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 1217a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1218a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1219a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 1220a8e1175bSopenharmony_ci "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1221a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1222a8e1175bSopenharmony_ci 0, 1223a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1224a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1225a8e1175bSopenharmony_ci 1226a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1227a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 1228a8e1175bSopenharmony_ci "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1229a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1230a8e1175bSopenharmony_ci 0, 1231a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1232a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1233a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1234a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 1235a8e1175bSopenharmony_ci 1236a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 1237a8e1175bSopenharmony_ci 1238a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 1239a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 1240a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 1241a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1242a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", 1243a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1244a8e1175bSopenharmony_ci 0, 1245a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1246a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1247a8e1175bSopenharmony_ci 1248a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1249a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", 1250a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1251a8e1175bSopenharmony_ci 0, 1252a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1253a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1254a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 1255a8e1175bSopenharmony_ci 1256a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1257a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1258a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", 1259a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1260a8e1175bSopenharmony_ci 0, 1261a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1262a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1263a8e1175bSopenharmony_ci 1264a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1265a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", 1266a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1267a8e1175bSopenharmony_ci 0, 1268a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1269a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1270a8e1175bSopenharmony_ci 1271a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1272a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", 1273a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1274a8e1175bSopenharmony_ci 0, 1275a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1276a8e1175bSopenharmony_ci 1277a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA", 1278a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1279a8e1175bSopenharmony_ci 0, 1280a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1281a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1282a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1283a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 1284a8e1175bSopenharmony_ci 1285a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CAMELLIA) 1286a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CBC) 1287a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1288a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1289a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1290a8e1175bSopenharmony_ci 0, 1291a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1292a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1293a8e1175bSopenharmony_ci 1294a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1295a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1296a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1297a8e1175bSopenharmony_ci 0, 1298a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1299a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1300a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CBC */ 1301a8e1175bSopenharmony_ci 1302a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_GCM) 1303a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1304a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1305a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1306a8e1175bSopenharmony_ci 0, 1307a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1308a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA256 */ 1309a8e1175bSopenharmony_ci 1310a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1311a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1312a8e1175bSopenharmony_ci MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1313a8e1175bSopenharmony_ci 0, 1314a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1315a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1316a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_GCM */ 1317a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CAMELLIA */ 1318a8e1175bSopenharmony_ci 1319a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 1320a8e1175bSopenharmony_ci 1321a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 1322a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_AES) 1323a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_CCM) 1324a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8", 1325a8e1175bSopenharmony_ci MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE, 1326a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_SHORT_TAG, 1327a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1328a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_CCM */ 1329a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_AES */ 1330a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 1331a8e1175bSopenharmony_ci 1332a8e1175bSopenharmony_ci#if defined(MBEDTLS_CIPHER_NULL_CIPHER) 1333a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 1334a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_MD5) 1335a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5", 1336a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 1337a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1338a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1339a8e1175bSopenharmony_ci#endif 1340a8e1175bSopenharmony_ci 1341a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1342a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA", 1343a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 1344a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1345a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1346a8e1175bSopenharmony_ci#endif 1347a8e1175bSopenharmony_ci 1348a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1349a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256", 1350a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 1351a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1352a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1353a8e1175bSopenharmony_ci#endif 1354a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 1355a8e1175bSopenharmony_ci 1356a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 1357a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1358a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA", 1359a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1360a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1361a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1362a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1363a8e1175bSopenharmony_ci 1364a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1365a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256", 1366a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1367a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1368a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1369a8e1175bSopenharmony_ci#endif 1370a8e1175bSopenharmony_ci 1371a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1372a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384", 1373a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1374a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1375a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1376a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1377a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 1378a8e1175bSopenharmony_ci 1379a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 1380a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1381a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA", 1382a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1383a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1384a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1385a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1386a8e1175bSopenharmony_ci 1387a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1388a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256", 1389a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1390a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1391a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1392a8e1175bSopenharmony_ci#endif 1393a8e1175bSopenharmony_ci 1394a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1395a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384", 1396a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1397a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1398a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1399a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1400a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 1401a8e1175bSopenharmony_ci 1402a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 1403a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1404a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA", 1405a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1406a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1407a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1408a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1409a8e1175bSopenharmony_ci 1410a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1411a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256", 1412a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1413a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1414a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1415a8e1175bSopenharmony_ci#endif 1416a8e1175bSopenharmony_ci 1417a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1418a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384", 1419a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1420a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1421a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1422a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1423a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 1424a8e1175bSopenharmony_ci 1425a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 1426a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA1) 1427a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA", 1428a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1429a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1430a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1431a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA1 */ 1432a8e1175bSopenharmony_ci 1433a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA256) 1434a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256", 1435a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1436a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1437a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1438a8e1175bSopenharmony_ci#endif 1439a8e1175bSopenharmony_ci 1440a8e1175bSopenharmony_ci#if defined(MBEDTLS_MD_CAN_SHA384) 1441a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384", 1442a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1443a8e1175bSopenharmony_ci MBEDTLS_CIPHERSUITE_WEAK, 1444a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1445a8e1175bSopenharmony_ci#endif /* MBEDTLS_MD_CAN_SHA384 */ 1446a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 1447a8e1175bSopenharmony_ci#endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 1448a8e1175bSopenharmony_ci 1449a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_HAVE_ARIA) 1450a8e1175bSopenharmony_ci 1451a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 1452a8e1175bSopenharmony_ci 1453a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1454a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384, 1455a8e1175bSopenharmony_ci "TLS-RSA-WITH-ARIA-256-GCM-SHA384", 1456a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 1457a8e1175bSopenharmony_ci 0, 1458a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1459a8e1175bSopenharmony_ci#endif 1460a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1461a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1462a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384, 1463a8e1175bSopenharmony_ci "TLS-RSA-WITH-ARIA-256-CBC-SHA384", 1464a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 1465a8e1175bSopenharmony_ci 0, 1466a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1467a8e1175bSopenharmony_ci#endif 1468a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1469a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256, 1470a8e1175bSopenharmony_ci "TLS-RSA-WITH-ARIA-128-GCM-SHA256", 1471a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 1472a8e1175bSopenharmony_ci 0, 1473a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1474a8e1175bSopenharmony_ci#endif 1475a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1476a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1477a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256, 1478a8e1175bSopenharmony_ci "TLS-RSA-WITH-ARIA-128-CBC-SHA256", 1479a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 1480a8e1175bSopenharmony_ci 0, 1481a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1482a8e1175bSopenharmony_ci#endif 1483a8e1175bSopenharmony_ci 1484a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 1485a8e1175bSopenharmony_ci 1486a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 1487a8e1175bSopenharmony_ci 1488a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1489a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, 1490a8e1175bSopenharmony_ci "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384", 1491a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1492a8e1175bSopenharmony_ci 0, 1493a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1494a8e1175bSopenharmony_ci#endif 1495a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1496a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1497a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, 1498a8e1175bSopenharmony_ci "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384", 1499a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1500a8e1175bSopenharmony_ci 0, 1501a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1502a8e1175bSopenharmony_ci#endif 1503a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1504a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, 1505a8e1175bSopenharmony_ci "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256", 1506a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1507a8e1175bSopenharmony_ci 0, 1508a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1509a8e1175bSopenharmony_ci#endif 1510a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1511a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1512a8e1175bSopenharmony_ci { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, 1513a8e1175bSopenharmony_ci "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256", 1514a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1515a8e1175bSopenharmony_ci 0, 1516a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1517a8e1175bSopenharmony_ci#endif 1518a8e1175bSopenharmony_ci 1519a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 1520a8e1175bSopenharmony_ci 1521a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 1522a8e1175bSopenharmony_ci 1523a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1524a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384, 1525a8e1175bSopenharmony_ci "TLS-PSK-WITH-ARIA-256-GCM-SHA384", 1526a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1527a8e1175bSopenharmony_ci 0, 1528a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1529a8e1175bSopenharmony_ci#endif 1530a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1531a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1532a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384, 1533a8e1175bSopenharmony_ci "TLS-PSK-WITH-ARIA-256-CBC-SHA384", 1534a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1535a8e1175bSopenharmony_ci 0, 1536a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1537a8e1175bSopenharmony_ci#endif 1538a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1539a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256, 1540a8e1175bSopenharmony_ci "TLS-PSK-WITH-ARIA-128-GCM-SHA256", 1541a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1542a8e1175bSopenharmony_ci 0, 1543a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1544a8e1175bSopenharmony_ci#endif 1545a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1546a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1547a8e1175bSopenharmony_ci { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256, 1548a8e1175bSopenharmony_ci "TLS-PSK-WITH-ARIA-128-CBC-SHA256", 1549a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1550a8e1175bSopenharmony_ci 0, 1551a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1552a8e1175bSopenharmony_ci#endif 1553a8e1175bSopenharmony_ci 1554a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 1555a8e1175bSopenharmony_ci 1556a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 1557a8e1175bSopenharmony_ci 1558a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1559a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, 1560a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384", 1561a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 1562a8e1175bSopenharmony_ci 0, 1563a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1564a8e1175bSopenharmony_ci#endif 1565a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1566a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1567a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, 1568a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384", 1569a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 1570a8e1175bSopenharmony_ci 0, 1571a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1572a8e1175bSopenharmony_ci#endif 1573a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1574a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, 1575a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256", 1576a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 1577a8e1175bSopenharmony_ci 0, 1578a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1579a8e1175bSopenharmony_ci#endif 1580a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1581a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1582a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, 1583a8e1175bSopenharmony_ci "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256", 1584a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 1585a8e1175bSopenharmony_ci 0, 1586a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1587a8e1175bSopenharmony_ci#endif 1588a8e1175bSopenharmony_ci 1589a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 1590a8e1175bSopenharmony_ci 1591a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 1592a8e1175bSopenharmony_ci 1593a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1594a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384, 1595a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384", 1596a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 1597a8e1175bSopenharmony_ci 0, 1598a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1599a8e1175bSopenharmony_ci#endif 1600a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1601a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1602a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, 1603a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384", 1604a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 1605a8e1175bSopenharmony_ci 0, 1606a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1607a8e1175bSopenharmony_ci#endif 1608a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1609a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256, 1610a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256", 1611a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 1612a8e1175bSopenharmony_ci 0, 1613a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1614a8e1175bSopenharmony_ci#endif 1615a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1616a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1617a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, 1618a8e1175bSopenharmony_ci "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256", 1619a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 1620a8e1175bSopenharmony_ci 0, 1621a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1622a8e1175bSopenharmony_ci#endif 1623a8e1175bSopenharmony_ci 1624a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 1625a8e1175bSopenharmony_ci 1626a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 1627a8e1175bSopenharmony_ci 1628a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1629a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1630a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, 1631a8e1175bSopenharmony_ci "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384", 1632a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1633a8e1175bSopenharmony_ci 0, 1634a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1635a8e1175bSopenharmony_ci#endif 1636a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1637a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1638a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, 1639a8e1175bSopenharmony_ci "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256", 1640a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1641a8e1175bSopenharmony_ci 0, 1642a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1643a8e1175bSopenharmony_ci#endif 1644a8e1175bSopenharmony_ci 1645a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 1646a8e1175bSopenharmony_ci 1647a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 1648a8e1175bSopenharmony_ci 1649a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1650a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384, 1651a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384", 1652a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 1653a8e1175bSopenharmony_ci 0, 1654a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1655a8e1175bSopenharmony_ci#endif 1656a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1657a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1658a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, 1659a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384", 1660a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 1661a8e1175bSopenharmony_ci 0, 1662a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1663a8e1175bSopenharmony_ci#endif 1664a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1665a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256, 1666a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256", 1667a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 1668a8e1175bSopenharmony_ci 0, 1669a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1670a8e1175bSopenharmony_ci#endif 1671a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1672a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1673a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, 1674a8e1175bSopenharmony_ci "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256", 1675a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 1676a8e1175bSopenharmony_ci 0, 1677a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1678a8e1175bSopenharmony_ci#endif 1679a8e1175bSopenharmony_ci 1680a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 1681a8e1175bSopenharmony_ci 1682a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 1683a8e1175bSopenharmony_ci 1684a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1685a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, 1686a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384", 1687a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1688a8e1175bSopenharmony_ci 0, 1689a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1690a8e1175bSopenharmony_ci#endif 1691a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1692a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1693a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, 1694a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384", 1695a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1696a8e1175bSopenharmony_ci 0, 1697a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1698a8e1175bSopenharmony_ci#endif 1699a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1700a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, 1701a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256", 1702a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1703a8e1175bSopenharmony_ci 0, 1704a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1705a8e1175bSopenharmony_ci#endif 1706a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1707a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1708a8e1175bSopenharmony_ci { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, 1709a8e1175bSopenharmony_ci "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256", 1710a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1711a8e1175bSopenharmony_ci 0, 1712a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1713a8e1175bSopenharmony_ci#endif 1714a8e1175bSopenharmony_ci 1715a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 1716a8e1175bSopenharmony_ci 1717a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 1718a8e1175bSopenharmony_ci 1719a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1720a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384, 1721a8e1175bSopenharmony_ci "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384", 1722a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 1723a8e1175bSopenharmony_ci 0, 1724a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1725a8e1175bSopenharmony_ci#endif 1726a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1727a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1728a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, 1729a8e1175bSopenharmony_ci "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384", 1730a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 1731a8e1175bSopenharmony_ci 0, 1732a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1733a8e1175bSopenharmony_ci#endif 1734a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1735a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256, 1736a8e1175bSopenharmony_ci "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256", 1737a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 1738a8e1175bSopenharmony_ci 0, 1739a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1740a8e1175bSopenharmony_ci#endif 1741a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1742a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1743a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, 1744a8e1175bSopenharmony_ci "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256", 1745a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 1746a8e1175bSopenharmony_ci 0, 1747a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1748a8e1175bSopenharmony_ci#endif 1749a8e1175bSopenharmony_ci 1750a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 1751a8e1175bSopenharmony_ci 1752a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 1753a8e1175bSopenharmony_ci 1754a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384)) 1755a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384, 1756a8e1175bSopenharmony_ci "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384", 1757a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1758a8e1175bSopenharmony_ci 0, 1759a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1760a8e1175bSopenharmony_ci#endif 1761a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1762a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA384)) 1763a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, 1764a8e1175bSopenharmony_ci "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384", 1765a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1766a8e1175bSopenharmony_ci 0, 1767a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1768a8e1175bSopenharmony_ci#endif 1769a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256)) 1770a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256, 1771a8e1175bSopenharmony_ci "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256", 1772a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1773a8e1175bSopenharmony_ci 0, 1774a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1775a8e1175bSopenharmony_ci#endif 1776a8e1175bSopenharmony_ci#if (defined(MBEDTLS_SSL_HAVE_CBC) && \ 1777a8e1175bSopenharmony_ci defined(MBEDTLS_MD_CAN_SHA256)) 1778a8e1175bSopenharmony_ci { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, 1779a8e1175bSopenharmony_ci "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256", 1780a8e1175bSopenharmony_ci MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1781a8e1175bSopenharmony_ci 0, 1782a8e1175bSopenharmony_ci MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 }, 1783a8e1175bSopenharmony_ci#endif 1784a8e1175bSopenharmony_ci 1785a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 1786a8e1175bSopenharmony_ci 1787a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_HAVE_ARIA */ 1788a8e1175bSopenharmony_ci 1789a8e1175bSopenharmony_ci 1790a8e1175bSopenharmony_ci { 0, "", 1791a8e1175bSopenharmony_ci MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE, 1792a8e1175bSopenharmony_ci 0, 0, 0 } 1793a8e1175bSopenharmony_ci}; 1794a8e1175bSopenharmony_ci 1795a8e1175bSopenharmony_ci#if defined(MBEDTLS_SSL_CIPHERSUITES) 1796a8e1175bSopenharmony_ciconst int *mbedtls_ssl_list_ciphersuites(void) 1797a8e1175bSopenharmony_ci{ 1798a8e1175bSopenharmony_ci return ciphersuite_preference; 1799a8e1175bSopenharmony_ci} 1800a8e1175bSopenharmony_ci#else 1801a8e1175bSopenharmony_ci#define MAX_CIPHERSUITES sizeof(ciphersuite_definitions) / \ 1802a8e1175bSopenharmony_ci sizeof(ciphersuite_definitions[0]) 1803a8e1175bSopenharmony_cistatic int supported_ciphersuites[MAX_CIPHERSUITES]; 1804a8e1175bSopenharmony_cistatic int supported_init = 0; 1805a8e1175bSopenharmony_ci 1806a8e1175bSopenharmony_ciMBEDTLS_CHECK_RETURN_CRITICAL 1807a8e1175bSopenharmony_cistatic int ciphersuite_is_removed(const mbedtls_ssl_ciphersuite_t *cs_info) 1808a8e1175bSopenharmony_ci{ 1809a8e1175bSopenharmony_ci (void) cs_info; 1810a8e1175bSopenharmony_ci 1811a8e1175bSopenharmony_ci return 0; 1812a8e1175bSopenharmony_ci} 1813a8e1175bSopenharmony_ci 1814a8e1175bSopenharmony_ciconst int *mbedtls_ssl_list_ciphersuites(void) 1815a8e1175bSopenharmony_ci{ 1816a8e1175bSopenharmony_ci /* 1817a8e1175bSopenharmony_ci * On initial call filter out all ciphersuites not supported by current 1818a8e1175bSopenharmony_ci * build based on presence in the ciphersuite_definitions. 1819a8e1175bSopenharmony_ci */ 1820a8e1175bSopenharmony_ci if (supported_init == 0) { 1821a8e1175bSopenharmony_ci const int *p; 1822a8e1175bSopenharmony_ci int *q; 1823a8e1175bSopenharmony_ci 1824a8e1175bSopenharmony_ci for (p = ciphersuite_preference, q = supported_ciphersuites; 1825a8e1175bSopenharmony_ci *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1; 1826a8e1175bSopenharmony_ci p++) { 1827a8e1175bSopenharmony_ci const mbedtls_ssl_ciphersuite_t *cs_info; 1828a8e1175bSopenharmony_ci if ((cs_info = mbedtls_ssl_ciphersuite_from_id(*p)) != NULL && 1829a8e1175bSopenharmony_ci !ciphersuite_is_removed(cs_info)) { 1830a8e1175bSopenharmony_ci *(q++) = *p; 1831a8e1175bSopenharmony_ci } 1832a8e1175bSopenharmony_ci } 1833a8e1175bSopenharmony_ci *q = 0; 1834a8e1175bSopenharmony_ci 1835a8e1175bSopenharmony_ci supported_init = 1; 1836a8e1175bSopenharmony_ci } 1837a8e1175bSopenharmony_ci 1838a8e1175bSopenharmony_ci return supported_ciphersuites; 1839a8e1175bSopenharmony_ci} 1840a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_CIPHERSUITES */ 1841a8e1175bSopenharmony_ci 1842a8e1175bSopenharmony_ciconst mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string( 1843a8e1175bSopenharmony_ci const char *ciphersuite_name) 1844a8e1175bSopenharmony_ci{ 1845a8e1175bSopenharmony_ci const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 1846a8e1175bSopenharmony_ci 1847a8e1175bSopenharmony_ci if (NULL == ciphersuite_name) { 1848a8e1175bSopenharmony_ci return NULL; 1849a8e1175bSopenharmony_ci } 1850a8e1175bSopenharmony_ci 1851a8e1175bSopenharmony_ci while (cur->id != 0) { 1852a8e1175bSopenharmony_ci if (0 == strcmp(cur->name, ciphersuite_name)) { 1853a8e1175bSopenharmony_ci return cur; 1854a8e1175bSopenharmony_ci } 1855a8e1175bSopenharmony_ci 1856a8e1175bSopenharmony_ci cur++; 1857a8e1175bSopenharmony_ci } 1858a8e1175bSopenharmony_ci 1859a8e1175bSopenharmony_ci return NULL; 1860a8e1175bSopenharmony_ci} 1861a8e1175bSopenharmony_ci 1862a8e1175bSopenharmony_ciconst mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id(int ciphersuite) 1863a8e1175bSopenharmony_ci{ 1864a8e1175bSopenharmony_ci const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 1865a8e1175bSopenharmony_ci 1866a8e1175bSopenharmony_ci while (cur->id != 0) { 1867a8e1175bSopenharmony_ci if (cur->id == ciphersuite) { 1868a8e1175bSopenharmony_ci return cur; 1869a8e1175bSopenharmony_ci } 1870a8e1175bSopenharmony_ci 1871a8e1175bSopenharmony_ci cur++; 1872a8e1175bSopenharmony_ci } 1873a8e1175bSopenharmony_ci 1874a8e1175bSopenharmony_ci return NULL; 1875a8e1175bSopenharmony_ci} 1876a8e1175bSopenharmony_ci 1877a8e1175bSopenharmony_ciconst char *mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id) 1878a8e1175bSopenharmony_ci{ 1879a8e1175bSopenharmony_ci const mbedtls_ssl_ciphersuite_t *cur; 1880a8e1175bSopenharmony_ci 1881a8e1175bSopenharmony_ci cur = mbedtls_ssl_ciphersuite_from_id(ciphersuite_id); 1882a8e1175bSopenharmony_ci 1883a8e1175bSopenharmony_ci if (cur == NULL) { 1884a8e1175bSopenharmony_ci return "unknown"; 1885a8e1175bSopenharmony_ci } 1886a8e1175bSopenharmony_ci 1887a8e1175bSopenharmony_ci return cur->name; 1888a8e1175bSopenharmony_ci} 1889a8e1175bSopenharmony_ci 1890a8e1175bSopenharmony_ciint mbedtls_ssl_get_ciphersuite_id(const char *ciphersuite_name) 1891a8e1175bSopenharmony_ci{ 1892a8e1175bSopenharmony_ci const mbedtls_ssl_ciphersuite_t *cur; 1893a8e1175bSopenharmony_ci 1894a8e1175bSopenharmony_ci cur = mbedtls_ssl_ciphersuite_from_string(ciphersuite_name); 1895a8e1175bSopenharmony_ci 1896a8e1175bSopenharmony_ci if (cur == NULL) { 1897a8e1175bSopenharmony_ci return 0; 1898a8e1175bSopenharmony_ci } 1899a8e1175bSopenharmony_ci 1900a8e1175bSopenharmony_ci return cur->id; 1901a8e1175bSopenharmony_ci} 1902a8e1175bSopenharmony_ci 1903a8e1175bSopenharmony_cisize_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t *info) 1904a8e1175bSopenharmony_ci{ 1905a8e1175bSopenharmony_ci#if defined(MBEDTLS_USE_PSA_CRYPTO) 1906a8e1175bSopenharmony_ci psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED; 1907a8e1175bSopenharmony_ci psa_key_type_t key_type; 1908a8e1175bSopenharmony_ci psa_algorithm_t alg; 1909a8e1175bSopenharmony_ci size_t key_bits; 1910a8e1175bSopenharmony_ci 1911a8e1175bSopenharmony_ci status = mbedtls_ssl_cipher_to_psa((mbedtls_cipher_type_t) info->cipher, 1912a8e1175bSopenharmony_ci info->flags & MBEDTLS_CIPHERSUITE_SHORT_TAG ? 8 : 16, 1913a8e1175bSopenharmony_ci &alg, &key_type, &key_bits); 1914a8e1175bSopenharmony_ci 1915a8e1175bSopenharmony_ci if (status != PSA_SUCCESS) { 1916a8e1175bSopenharmony_ci return 0; 1917a8e1175bSopenharmony_ci } 1918a8e1175bSopenharmony_ci 1919a8e1175bSopenharmony_ci return key_bits; 1920a8e1175bSopenharmony_ci#else 1921a8e1175bSopenharmony_ci const mbedtls_cipher_info_t * const cipher_info = 1922a8e1175bSopenharmony_ci mbedtls_cipher_info_from_type((mbedtls_cipher_type_t) info->cipher); 1923a8e1175bSopenharmony_ci 1924a8e1175bSopenharmony_ci return mbedtls_cipher_info_get_key_bitlen(cipher_info); 1925a8e1175bSopenharmony_ci#endif /* MBEDTLS_USE_PSA_CRYPTO */ 1926a8e1175bSopenharmony_ci} 1927a8e1175bSopenharmony_ci 1928a8e1175bSopenharmony_ci#if defined(MBEDTLS_PK_C) 1929a8e1175bSopenharmony_cimbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t *info) 1930a8e1175bSopenharmony_ci{ 1931a8e1175bSopenharmony_ci switch (info->key_exchange) { 1932a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA: 1933a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1934a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1935a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 1936a8e1175bSopenharmony_ci return MBEDTLS_PK_RSA; 1937a8e1175bSopenharmony_ci 1938a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1939a8e1175bSopenharmony_ci return MBEDTLS_PK_ECDSA; 1940a8e1175bSopenharmony_ci 1941a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 1942a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 1943a8e1175bSopenharmony_ci return MBEDTLS_PK_ECKEY; 1944a8e1175bSopenharmony_ci 1945a8e1175bSopenharmony_ci default: 1946a8e1175bSopenharmony_ci return MBEDTLS_PK_NONE; 1947a8e1175bSopenharmony_ci } 1948a8e1175bSopenharmony_ci} 1949a8e1175bSopenharmony_ci 1950a8e1175bSopenharmony_ci#if defined(MBEDTLS_USE_PSA_CRYPTO) 1951a8e1175bSopenharmony_cipsa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_ciphersuite_t *info) 1952a8e1175bSopenharmony_ci{ 1953a8e1175bSopenharmony_ci switch (info->key_exchange) { 1954a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA: 1955a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 1956a8e1175bSopenharmony_ci return PSA_ALG_RSA_PKCS1V15_CRYPT; 1957a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1958a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1959a8e1175bSopenharmony_ci return PSA_ALG_RSA_PKCS1V15_SIGN( 1960a8e1175bSopenharmony_ci mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac)); 1961a8e1175bSopenharmony_ci 1962a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1963a8e1175bSopenharmony_ci return PSA_ALG_ECDSA(mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac)); 1964a8e1175bSopenharmony_ci 1965a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 1966a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 1967a8e1175bSopenharmony_ci return PSA_ALG_ECDH; 1968a8e1175bSopenharmony_ci 1969a8e1175bSopenharmony_ci default: 1970a8e1175bSopenharmony_ci return PSA_ALG_NONE; 1971a8e1175bSopenharmony_ci } 1972a8e1175bSopenharmony_ci} 1973a8e1175bSopenharmony_ci 1974a8e1175bSopenharmony_cipsa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_ciphersuite_t *info) 1975a8e1175bSopenharmony_ci{ 1976a8e1175bSopenharmony_ci switch (info->key_exchange) { 1977a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA: 1978a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 1979a8e1175bSopenharmony_ci return PSA_KEY_USAGE_DECRYPT; 1980a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1981a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1982a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1983a8e1175bSopenharmony_ci return PSA_KEY_USAGE_SIGN_HASH; 1984a8e1175bSopenharmony_ci 1985a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 1986a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 1987a8e1175bSopenharmony_ci return PSA_KEY_USAGE_DERIVE; 1988a8e1175bSopenharmony_ci 1989a8e1175bSopenharmony_ci default: 1990a8e1175bSopenharmony_ci return 0; 1991a8e1175bSopenharmony_ci } 1992a8e1175bSopenharmony_ci} 1993a8e1175bSopenharmony_ci#endif /* MBEDTLS_USE_PSA_CRYPTO */ 1994a8e1175bSopenharmony_ci 1995a8e1175bSopenharmony_cimbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info) 1996a8e1175bSopenharmony_ci{ 1997a8e1175bSopenharmony_ci switch (info->key_exchange) { 1998a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1999a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 2000a8e1175bSopenharmony_ci return MBEDTLS_PK_RSA; 2001a8e1175bSopenharmony_ci 2002a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 2003a8e1175bSopenharmony_ci return MBEDTLS_PK_ECDSA; 2004a8e1175bSopenharmony_ci 2005a8e1175bSopenharmony_ci default: 2006a8e1175bSopenharmony_ci return MBEDTLS_PK_NONE; 2007a8e1175bSopenharmony_ci } 2008a8e1175bSopenharmony_ci} 2009a8e1175bSopenharmony_ci 2010a8e1175bSopenharmony_ci#endif /* MBEDTLS_PK_C */ 2011a8e1175bSopenharmony_ci 2012a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED) || \ 2013a8e1175bSopenharmony_ci defined(MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED) || \ 2014a8e1175bSopenharmony_ci defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 2015a8e1175bSopenharmony_ciint mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t *info) 2016a8e1175bSopenharmony_ci{ 2017a8e1175bSopenharmony_ci switch (info->key_exchange) { 2018a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 2019a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 2020a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 2021a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 2022a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 2023a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECJPAKE: 2024a8e1175bSopenharmony_ci return 1; 2025a8e1175bSopenharmony_ci 2026a8e1175bSopenharmony_ci default: 2027a8e1175bSopenharmony_ci return 0; 2028a8e1175bSopenharmony_ci } 2029a8e1175bSopenharmony_ci} 2030a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED || 2031a8e1175bSopenharmony_ci * MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED || 2032a8e1175bSopenharmony_ci * MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/ 2033a8e1175bSopenharmony_ci 2034a8e1175bSopenharmony_ci#if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED) 2035a8e1175bSopenharmony_ciint mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t *info) 2036a8e1175bSopenharmony_ci{ 2037a8e1175bSopenharmony_ci switch (info->key_exchange) { 2038a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_PSK: 2039a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 2040a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_DHE_PSK: 2041a8e1175bSopenharmony_ci case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 2042a8e1175bSopenharmony_ci return 1; 2043a8e1175bSopenharmony_ci 2044a8e1175bSopenharmony_ci default: 2045a8e1175bSopenharmony_ci return 0; 2046a8e1175bSopenharmony_ci } 2047a8e1175bSopenharmony_ci} 2048a8e1175bSopenharmony_ci#endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */ 2049a8e1175bSopenharmony_ci 2050a8e1175bSopenharmony_ci#endif /* MBEDTLS_SSL_TLS_C */ 2051