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