1*c6672fdcSEdison Ai // SPDX-License-Identifier: Apache-2.0 2817466cbSJens Wiklander /** 3817466cbSJens Wiklander * \file ssl_ciphersuites.c 4817466cbSJens Wiklander * 5817466cbSJens Wiklander * \brief SSL ciphersuites for mbed TLS 6817466cbSJens Wiklander * 7817466cbSJens Wiklander * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved 8817466cbSJens Wiklander * 9817466cbSJens Wiklander * Licensed under the Apache License, Version 2.0 (the "License"); you may 10817466cbSJens Wiklander * not use this file except in compliance with the License. 11817466cbSJens Wiklander * You may obtain a copy of the License at 12817466cbSJens Wiklander * 13817466cbSJens Wiklander * http://www.apache.org/licenses/LICENSE-2.0 14817466cbSJens Wiklander * 15817466cbSJens Wiklander * Unless required by applicable law or agreed to in writing, software 16817466cbSJens Wiklander * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 17817466cbSJens Wiklander * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18817466cbSJens Wiklander * See the License for the specific language governing permissions and 19817466cbSJens Wiklander * limitations under the License. 20817466cbSJens Wiklander * 21817466cbSJens Wiklander * This file is part of mbed TLS (https://tls.mbed.org) 22817466cbSJens Wiklander */ 23817466cbSJens Wiklander 24817466cbSJens Wiklander #if !defined(MBEDTLS_CONFIG_FILE) 25817466cbSJens Wiklander #include "mbedtls/config.h" 26817466cbSJens Wiklander #else 27817466cbSJens Wiklander #include MBEDTLS_CONFIG_FILE 28817466cbSJens Wiklander #endif 29817466cbSJens Wiklander 30817466cbSJens Wiklander #if defined(MBEDTLS_SSL_TLS_C) 31817466cbSJens Wiklander 32817466cbSJens Wiklander #if defined(MBEDTLS_PLATFORM_C) 33817466cbSJens Wiklander #include "mbedtls/platform.h" 34817466cbSJens Wiklander #else 35817466cbSJens Wiklander #include <stdlib.h> 36817466cbSJens Wiklander #endif 37817466cbSJens Wiklander 38817466cbSJens Wiklander #include "mbedtls/ssl_ciphersuites.h" 39817466cbSJens Wiklander #include "mbedtls/ssl.h" 40817466cbSJens Wiklander 41817466cbSJens Wiklander #include <string.h> 42817466cbSJens Wiklander 43817466cbSJens Wiklander /* 44817466cbSJens Wiklander * Ordered from most preferred to least preferred in terms of security. 45817466cbSJens Wiklander * 46817466cbSJens Wiklander * Current rule (except rc4, weak and null which come last): 47817466cbSJens Wiklander * 1. By key exchange: 48817466cbSJens Wiklander * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK 49817466cbSJens Wiklander * 2. By key length and cipher: 50817466cbSJens Wiklander * AES-256 > Camellia-256 > AES-128 > Camellia-128 > 3DES 51817466cbSJens Wiklander * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8 52817466cbSJens Wiklander * 4. By hash function used when relevant 53817466cbSJens Wiklander * 5. By key exchange/auth again: EC > non-EC 54817466cbSJens Wiklander */ 55817466cbSJens Wiklander static const int ciphersuite_preference[] = 56817466cbSJens Wiklander { 57817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES) 58817466cbSJens Wiklander MBEDTLS_SSL_CIPHERSUITES, 59817466cbSJens Wiklander #else 60817466cbSJens Wiklander /* All AES-256 ephemeral suites */ 61817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 62817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 63817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 64817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, 65817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, 66817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 67817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, 68817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, 69817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, 70817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 71817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 72817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, 73817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, 74817466cbSJens Wiklander 75817466cbSJens Wiklander /* All CAMELLIA-256 ephemeral suites */ 76817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 77817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 78817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 79817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 80817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, 81817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, 82817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, 83817466cbSJens Wiklander 84817466cbSJens Wiklander /* All AES-128 ephemeral suites */ 85817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 86817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 87817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 88817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, 89817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, 90817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 91817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 92817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, 93817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, 94817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 95817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 96817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, 97817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, 98817466cbSJens Wiklander 99817466cbSJens Wiklander /* All CAMELLIA-128 ephemeral suites */ 100817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 101817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 102817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 103817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 104817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 105817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 106817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, 107817466cbSJens Wiklander 108817466cbSJens Wiklander /* All remaining >= 128-bit ephemeral suites */ 109817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, 110817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, 111817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 112817466cbSJens Wiklander 113817466cbSJens Wiklander /* The PSK ephemeral suites */ 114817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, 115817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, 116817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, 117817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, 118817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, 119817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, 120817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, 121817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 122817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 123817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, 124817466cbSJens Wiklander 125817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, 126817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, 127817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, 128817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, 129817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, 130817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, 131817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, 132817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 133817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 134817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, 135817466cbSJens Wiklander 136817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, 137817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, 138817466cbSJens Wiklander 139817466cbSJens Wiklander /* The ECJPAKE suite */ 140817466cbSJens Wiklander MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, 141817466cbSJens Wiklander 142817466cbSJens Wiklander /* All AES-256 suites */ 143817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, 144817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CCM, 145817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, 146817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, 147817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, 148817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 149817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, 150817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 151817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, 152817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 153817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, 154817466cbSJens Wiklander 155817466cbSJens Wiklander /* All CAMELLIA-256 suites */ 156817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, 157817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, 158817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, 159817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, 160817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, 161817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 162817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 163817466cbSJens Wiklander 164817466cbSJens Wiklander /* All AES-128 suites */ 165817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, 166817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CCM, 167817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, 168817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, 169817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, 170817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 171817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, 172817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 173817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, 174817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 175817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, 176817466cbSJens Wiklander 177817466cbSJens Wiklander /* All CAMELLIA-128 suites */ 178817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, 179817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, 180817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, 181817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, 182817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, 183817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 184817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 185817466cbSJens Wiklander 186817466cbSJens Wiklander /* All remaining >= 128-bit suites */ 187817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, 188817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, 189817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, 190817466cbSJens Wiklander 191817466cbSJens Wiklander /* The RSA PSK suites */ 192817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, 193817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, 194817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, 195817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, 196817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, 197817466cbSJens Wiklander 198817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, 199817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, 200817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, 201817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, 202817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, 203817466cbSJens Wiklander 204817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, 205817466cbSJens Wiklander 206817466cbSJens Wiklander /* The PSK suites */ 207817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, 208817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CCM, 209817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, 210817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, 211817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, 212817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, 213817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, 214817466cbSJens Wiklander 215817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, 216817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CCM, 217817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, 218817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, 219817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, 220817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, 221817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, 222817466cbSJens Wiklander 223817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, 224817466cbSJens Wiklander 225817466cbSJens Wiklander /* RC4 suites */ 226817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, 227817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, 228817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, 229817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, 230817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, 231817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, 232817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, 233817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, 234817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, 235817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, 236817466cbSJens Wiklander 237817466cbSJens Wiklander /* Weak suites */ 238817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, 239817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, 240817466cbSJens Wiklander 241817466cbSJens Wiklander /* NULL suites */ 242817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, 243817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, 244817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, 245817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, 246817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, 247817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, 248817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, 249817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, 250817466cbSJens Wiklander 251817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_SHA256, 252817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_SHA, 253817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_MD5, 254817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, 255817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, 256817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, 257817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, 258817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, 259817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA384, 260817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA256, 261817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA, 262817466cbSJens Wiklander 263817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */ 264817466cbSJens Wiklander 0 265817466cbSJens Wiklander }; 266817466cbSJens Wiklander 267817466cbSJens Wiklander static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 268817466cbSJens Wiklander { 269817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 270817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 271817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 272817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 273817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", 274817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 275817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 276817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 277817466cbSJens Wiklander 0 }, 278817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA", 279817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 280817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 281817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 282817466cbSJens Wiklander 0 }, 283817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 284817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 285817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 286817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 287817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", 288817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 289817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 290817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 291817466cbSJens Wiklander 0 }, 292817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 293817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 294817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256", 295817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 296817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 297817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 298817466cbSJens Wiklander 0 }, 299817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 300817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 301817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 302817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 303817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", 304817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 305817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 306817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 307817466cbSJens Wiklander 0 }, 308817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 309817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 310817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384", 311817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 312817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 313817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 314817466cbSJens Wiklander 0 }, 315817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 316817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 317817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 318817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", 319817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 320817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 321817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 322817466cbSJens Wiklander 0 }, 323817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8", 324817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 325817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 326817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 327817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 328817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM", 329817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 330817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 331817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 332817466cbSJens Wiklander 0 }, 333817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8", 334817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 335817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 336817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 337817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 338817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 339817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 340817466cbSJens Wiklander 341817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 342817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 343817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 344817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 345817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 346817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 347817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 348817466cbSJens Wiklander 0 }, 349817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 350817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 351817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 352817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 353817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 354817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 355817466cbSJens Wiklander 0 }, 356817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 357817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 358817466cbSJens Wiklander 359817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 360817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 361817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 362817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 363817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 364817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 365817466cbSJens Wiklander 0 }, 366817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 367817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 368817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 369817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 370817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 371817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 372817466cbSJens Wiklander 0 }, 373817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 374817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 375817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 376817466cbSJens Wiklander 377817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 378817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 379817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 380817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA", 381817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 382817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 383817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 384817466cbSJens Wiklander 0 }, 385817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 386817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 387817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 388817466cbSJens Wiklander 389817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 390817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 391817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA", 392817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 393817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 394817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 395817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 396817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 397817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 398817466cbSJens Wiklander 399817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 400817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 401817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA", 402817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 403817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 404817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 405817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 406817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 407817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 408817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 409817466cbSJens Wiklander 410817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 411817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 412817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 413817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 414817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", 415817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 416817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 417817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 418817466cbSJens Wiklander 0 }, 419817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA", 420817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 421817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 422817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 423817466cbSJens Wiklander 0 }, 424817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 425817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 426817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 427817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 428817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", 429817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 430817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 431817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 432817466cbSJens Wiklander 0 }, 433817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 434817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 435817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256", 436817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 437817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 438817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 439817466cbSJens Wiklander 0 }, 440817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 441817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 442817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 443817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 444817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", 445817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 446817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 447817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 448817466cbSJens Wiklander 0 }, 449817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 450817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 451817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384", 452817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 453817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 454817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 455817466cbSJens Wiklander 0 }, 456817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 457817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 458817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 459817466cbSJens Wiklander 460817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 461817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 462817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 463817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 464817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 465817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 466817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 467817466cbSJens Wiklander 0 }, 468817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 469817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 470817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384", 471817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 472817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 473817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 474817466cbSJens Wiklander 0 }, 475817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 476817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 477817466cbSJens Wiklander 478817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 479817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 480817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 481817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 482817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 483817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 484817466cbSJens Wiklander 0 }, 485817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 486817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 487817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 488817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 489817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 490817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 491817466cbSJens Wiklander 0 }, 492817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 493817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 494817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 495817466cbSJens Wiklander 496817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 497817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 498817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 499817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA", 500817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 501817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 502817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 503817466cbSJens Wiklander 0 }, 504817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 505817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 506817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 507817466cbSJens Wiklander 508817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 509817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 510817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA", 511817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 512817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 513817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 514817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 515817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 516817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 517817466cbSJens Wiklander 518817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 519817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 520817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA", 521817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 522817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 523817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 524817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 525817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 526817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 527817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 528817466cbSJens Wiklander 529817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 530817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 531817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 532817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", 533817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 534817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 535817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 536817466cbSJens Wiklander 0 }, 537817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 538817466cbSJens Wiklander 539817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 540817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 541817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", 542817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 543817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 544817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 545817466cbSJens Wiklander 0 }, 546817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 547817466cbSJens Wiklander 548817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 549817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256", 550817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 551817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 552817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 553817466cbSJens Wiklander 0 }, 554817466cbSJens Wiklander 555817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256", 556817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 557817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 558817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 559817466cbSJens Wiklander 0 }, 560817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 561817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 562817466cbSJens Wiklander 563817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 564817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 565817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", 566817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 567817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 568817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 569817466cbSJens Wiklander 0 }, 570817466cbSJens Wiklander 571817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA", 572817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 573817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 574817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 575817466cbSJens Wiklander 0 }, 576817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 577817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 578817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 579817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM", 580817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 581817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 582817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 583817466cbSJens Wiklander 0 }, 584817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8", 585817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 586817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 587817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 588817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 589817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM", 590817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 591817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 592817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 593817466cbSJens Wiklander 0 }, 594817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8", 595817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 596817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 597817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 598817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 599817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 600817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 601817466cbSJens Wiklander 602817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 603817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 604817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 605817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 606817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 607817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 608817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 609817466cbSJens Wiklander 0 }, 610817466cbSJens Wiklander 611817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256", 612817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 613817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 614817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 615817466cbSJens Wiklander 0 }, 616817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 617817466cbSJens Wiklander 618817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 619817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", 620817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 621817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 622817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 623817466cbSJens Wiklander 0 }, 624817466cbSJens Wiklander 625817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA", 626817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 627817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 628817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 629817466cbSJens Wiklander 0 }, 630817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 631817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 632817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 633817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 634817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 635817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 636817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 637817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 638817466cbSJens Wiklander 0 }, 639817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 640817466cbSJens Wiklander 641817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 642817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 643817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 644817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 645817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 646817466cbSJens Wiklander 0 }, 647817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 648817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 649817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 650817466cbSJens Wiklander 651817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 652817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 653817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 654817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA", 655817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 656817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 657817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 658817466cbSJens Wiklander 0 }, 659817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 660817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 661817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 662817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 663817466cbSJens Wiklander 664817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 665817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 666817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 667817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384", 668817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 669817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 670817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 671817466cbSJens Wiklander 0 }, 672817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 673817466cbSJens Wiklander 674817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 675817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 676817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256", 677817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 678817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 679817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 680817466cbSJens Wiklander 0 }, 681817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 682817466cbSJens Wiklander 683817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 684817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256", 685817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 686817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 687817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 688817466cbSJens Wiklander 0 }, 689817466cbSJens Wiklander 690817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256", 691817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 692817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 693817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 694817466cbSJens Wiklander 0 }, 695817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 696817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 697817466cbSJens Wiklander 698817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 699817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 700817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA", 701817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 702817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 703817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 704817466cbSJens Wiklander 0 }, 705817466cbSJens Wiklander 706817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA", 707817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 708817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 709817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 710817466cbSJens Wiklander 0 }, 711817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 712817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 713817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 714817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM", 715817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 716817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 717817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 718817466cbSJens Wiklander 0 }, 719817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8", 720817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 721817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 722817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 723817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 724817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM", 725817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 726817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 727817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 728817466cbSJens Wiklander 0 }, 729817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8", 730817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 731817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 732817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 733817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 734817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 735817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 736817466cbSJens Wiklander 737817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 738817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 739817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 740817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", 741817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 742817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 743817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 744817466cbSJens Wiklander 0 }, 745817466cbSJens Wiklander 746817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256", 747817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 748817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 749817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 750817466cbSJens Wiklander 0 }, 751817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 752817466cbSJens Wiklander 753817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 754817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", 755817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 756817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 757817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 758817466cbSJens Wiklander 0 }, 759817466cbSJens Wiklander 760817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA", 761817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 762817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 763817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 764817466cbSJens Wiklander 0 }, 765817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 766817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 767817466cbSJens Wiklander 768817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 769817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 770817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", 771817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 772817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 773817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 774817466cbSJens Wiklander 0 }, 775817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 776817466cbSJens Wiklander 777817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 778817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", 779817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 780817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 781817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 782817466cbSJens Wiklander 0 }, 783817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 784817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 785817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 786817466cbSJens Wiklander 787817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 788817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 789817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 790817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA", 791817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 792817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 793817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 794817466cbSJens Wiklander 0 }, 795817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 796817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 797817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 798817466cbSJens Wiklander 799817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 800817466cbSJens Wiklander #if defined(MBEDTLS_MD5_C) 801817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5", 802817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 803817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 804817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 805817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 806817466cbSJens Wiklander #endif 807817466cbSJens Wiklander 808817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 809817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA", 810817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 811817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 812817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 813817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 814817466cbSJens Wiklander #endif 815817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 816817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 817817466cbSJens Wiklander 818817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 819817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 820817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 821817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 822817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", 823817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 824817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 825817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 826817466cbSJens Wiklander 0 }, 827817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA", 828817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 829817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 830817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 831817466cbSJens Wiklander 0 }, 832817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 833817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 834817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 835817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 836817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", 837817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 838817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 839817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 840817466cbSJens Wiklander 0 }, 841817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 842817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 843817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256", 844817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 845817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 846817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 847817466cbSJens Wiklander 0 }, 848817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 849817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 850817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 851817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 852817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", 853817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 854817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 855817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 856817466cbSJens Wiklander 0 }, 857817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 858817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 859817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384", 860817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 861817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 862817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 863817466cbSJens Wiklander 0 }, 864817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 865817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 866817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 867817466cbSJens Wiklander 868817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 869817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 870817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 871817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256", 872817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 873817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 874817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 875817466cbSJens Wiklander 0 }, 876817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 877817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 878817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384", 879817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 880817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 881817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 882817466cbSJens Wiklander 0 }, 883817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 884817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 885817466cbSJens Wiklander 886817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 887817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 888817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256", 889817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 890817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 891817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 892817466cbSJens Wiklander 0 }, 893817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 894817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 895817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384", 896817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 897817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 898817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 899817466cbSJens Wiklander 0 }, 900817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 901817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 902817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 903817466cbSJens Wiklander 904817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 905817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 906817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 907817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA", 908817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 909817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 910817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 911817466cbSJens Wiklander 0 }, 912817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 913817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 914817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 915817466cbSJens Wiklander 916817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 917817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 918817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA", 919817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 920817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 921817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 922817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 923817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 924817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 925817466cbSJens Wiklander 926817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 927817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 928817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA", 929817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 930817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 931817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 932817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 933817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 934817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 935817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 936817466cbSJens Wiklander 937817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 938817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 939817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 940817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 941817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", 942817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 943817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 944817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 945817466cbSJens Wiklander 0 }, 946817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA", 947817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 948817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 949817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 950817466cbSJens Wiklander 0 }, 951817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 952817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 953817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 954817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 955817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", 956817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 957817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 958817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 959817466cbSJens Wiklander 0 }, 960817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 961817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 962817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256", 963817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 964817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 965817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 966817466cbSJens Wiklander 0 }, 967817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 968817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 969817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 970817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 971817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", 972817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 973817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 974817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 975817466cbSJens Wiklander 0 }, 976817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 977817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 978817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384", 979817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 980817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 981817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 982817466cbSJens Wiklander 0 }, 983817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 984817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 985817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 986817466cbSJens Wiklander 987817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 988817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 989817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 990817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 991817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 992817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 993817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 994817466cbSJens Wiklander 0 }, 995817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 996817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 997817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 998817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 999817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1000817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1001817466cbSJens Wiklander 0 }, 1002817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1003817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1004817466cbSJens Wiklander 1005817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1006817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1007817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 1008817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1009817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1010817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1011817466cbSJens Wiklander 0 }, 1012817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1013817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1014817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 1015817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1016817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1017817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1018817466cbSJens Wiklander 0 }, 1019817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1020817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1021817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 1022817466cbSJens Wiklander 1023817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1024817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1025817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1026817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA", 1027817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1028817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1029817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1030817466cbSJens Wiklander 0 }, 1031817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1032817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1033817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1034817466cbSJens Wiklander 1035817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 1036817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1037817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA", 1038817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1039817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1040817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1041817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 1042817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1043817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 1044817466cbSJens Wiklander 1045817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 1046817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1047817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA", 1048817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 1049817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1050817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1051817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1052817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1053817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 1054817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 1055817466cbSJens Wiklander 1056817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 1057817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 1058817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1059817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1060817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256", 1061817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1062817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1063817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1064817466cbSJens Wiklander 0 }, 1065817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1066817466cbSJens Wiklander 1067817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1068817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384", 1069817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1070817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1071817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1072817466cbSJens Wiklander 0 }, 1073817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1074817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1075817466cbSJens Wiklander 1076817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1077817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1078817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256", 1079817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1080817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1081817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1082817466cbSJens Wiklander 0 }, 1083817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1084817466cbSJens Wiklander 1085817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1086817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384", 1087817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1088817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1089817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1090817466cbSJens Wiklander 0 }, 1091817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1092817466cbSJens Wiklander 1093817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1094817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA", 1095817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1096817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1097817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1098817466cbSJens Wiklander 0 }, 1099817466cbSJens Wiklander 1100817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA", 1101817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1102817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1103817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1104817466cbSJens Wiklander 0 }, 1105817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1106817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1107817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 1108817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM", 1109817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1110817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1111817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1112817466cbSJens Wiklander 0 }, 1113817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8", 1114817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1115817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1116817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1117817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 1118817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM", 1119817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1120817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1121817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1122817466cbSJens Wiklander 0 }, 1123817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8", 1124817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1125817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1126817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1127817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 1128817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 1129817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 1130817466cbSJens Wiklander 1131817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 1132817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1133817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1134817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1135817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1136817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1137817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1138817466cbSJens Wiklander 0 }, 1139817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1140817466cbSJens Wiklander 1141817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1142817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1143817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1144817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1145817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1146817466cbSJens Wiklander 0 }, 1147817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1148817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1149817466cbSJens Wiklander 1150817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1151817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1152817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1153817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1154817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1155817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1156817466cbSJens Wiklander 0 }, 1157817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1158817466cbSJens Wiklander 1159817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1160817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1161817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1162817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1163817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1164817466cbSJens Wiklander 0 }, 1165817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1166817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1167817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 1168817466cbSJens Wiklander 1169817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1170817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1171817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1172817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA", 1173817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1174817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1175817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1176817466cbSJens Wiklander 0 }, 1177817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1178817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1179817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1180817466cbSJens Wiklander 1181817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 1182817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1183817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA", 1184817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1185817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1186817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1187817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 1188817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1189817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 1190817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 1191817466cbSJens Wiklander 1192817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 1193817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 1194817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1195817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1196817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", 1197817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1198817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1199817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1200817466cbSJens Wiklander 0 }, 1201817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1202817466cbSJens Wiklander 1203817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1204817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", 1205817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1206817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1207817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1208817466cbSJens Wiklander 0 }, 1209817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1210817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1211817466cbSJens Wiklander 1212817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1213817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1214817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", 1215817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1216817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1217817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1218817466cbSJens Wiklander 0 }, 1219817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1220817466cbSJens Wiklander 1221817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1222817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", 1223817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1224817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1225817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1226817466cbSJens Wiklander 0 }, 1227817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1228817466cbSJens Wiklander 1229817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1230817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", 1231817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1232817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1233817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1234817466cbSJens Wiklander 0 }, 1235817466cbSJens Wiklander 1236817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA", 1237817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1238817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1239817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1240817466cbSJens Wiklander 0 }, 1241817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1242817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1243817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 1244817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM", 1245817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1246817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1247817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1248817466cbSJens Wiklander 0 }, 1249817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8", 1250817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1251817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1252817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1253817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 1254817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM", 1255817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1256817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1257817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1258817466cbSJens Wiklander 0 }, 1259817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8", 1260817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1261817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1262817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1263817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 1264817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 1265817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 1266817466cbSJens Wiklander 1267817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 1268817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1269817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1270817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1271817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1272817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1273817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1274817466cbSJens Wiklander 0 }, 1275817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1276817466cbSJens Wiklander 1277817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1278817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1279817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1280817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1281817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1282817466cbSJens Wiklander 0 }, 1283817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1284817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1285817466cbSJens Wiklander 1286817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1287817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1288817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1289817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1290817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1291817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1292817466cbSJens Wiklander 0 }, 1293817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1294817466cbSJens Wiklander 1295817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1296817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1297817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1298817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1299817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1300817466cbSJens Wiklander 0 }, 1301817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1302817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1303817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 1304817466cbSJens Wiklander 1305817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1306817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1307817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1308817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA", 1309817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1310817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1311817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1312817466cbSJens Wiklander 0 }, 1313817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1314817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1315817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1316817466cbSJens Wiklander 1317817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 1318817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1319817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA", 1320817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1321817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1322817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1323817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 1324817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1325817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 1326817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 1327817466cbSJens Wiklander 1328817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 1329817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 1330817466cbSJens Wiklander 1331817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1332817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1333817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", 1334817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1335817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1336817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1337817466cbSJens Wiklander 0 }, 1338817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1339817466cbSJens Wiklander 1340817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1341817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", 1342817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1343817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1344817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1345817466cbSJens Wiklander 0 }, 1346817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1347817466cbSJens Wiklander 1348817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1349817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", 1350817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1351817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1352817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1353817466cbSJens Wiklander 0 }, 1354817466cbSJens Wiklander 1355817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA", 1356817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1357817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1358817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1359817466cbSJens Wiklander 0 }, 1360817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1361817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1362817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 1363817466cbSJens Wiklander 1364817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 1365817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1366817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1367817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1368817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1369817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1370817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1371817466cbSJens Wiklander 0 }, 1372817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1373817466cbSJens Wiklander 1374817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1375817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1376817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1377817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1378817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1379817466cbSJens Wiklander 0 }, 1380817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1381817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1382817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 1383817466cbSJens Wiklander 1384817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1385817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1386817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1387817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA", 1388817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1389817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1390817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1391817466cbSJens Wiklander 0 }, 1392817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1393817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1394817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1395817466cbSJens Wiklander 1396817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 1397817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1398817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA", 1399817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1400817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1401817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1402817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 1403817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1404817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 1405817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 1406817466cbSJens Wiklander 1407817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 1408817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 1409817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1410817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1411817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", 1412817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1413817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1414817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1415817466cbSJens Wiklander 0 }, 1416817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1417817466cbSJens Wiklander 1418817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1419817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", 1420817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1421817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1422817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1423817466cbSJens Wiklander 0 }, 1424817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1425817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1426817466cbSJens Wiklander 1427817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1428817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1429817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", 1430817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1431817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1432817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1433817466cbSJens Wiklander 0 }, 1434817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1435817466cbSJens Wiklander 1436817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1437817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", 1438817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1439817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1440817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1441817466cbSJens Wiklander 0 }, 1442817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1443817466cbSJens Wiklander 1444817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1445817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", 1446817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1447817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1448817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1449817466cbSJens Wiklander 0 }, 1450817466cbSJens Wiklander 1451817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA", 1452817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1453817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1454817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1455817466cbSJens Wiklander 0 }, 1456817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1457817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1458817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 1459817466cbSJens Wiklander 1460817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C) 1461817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1462817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1463817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256", 1464817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1465817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1466817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1467817466cbSJens Wiklander 0 }, 1468817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1469817466cbSJens Wiklander 1470817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1471817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384", 1472817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1473817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1474817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1475817466cbSJens Wiklander 0 }, 1476817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1477817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1478817466cbSJens Wiklander 1479817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C) 1480817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1481817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256", 1482817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1483817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1484817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1485817466cbSJens Wiklander 0 }, 1486817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */ 1487817466cbSJens Wiklander 1488817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1489817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384", 1490817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1491817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1492817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1493817466cbSJens Wiklander 0 }, 1494817466cbSJens Wiklander #endif /* MBEDTLS_SHA512_C */ 1495817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */ 1496817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */ 1497817466cbSJens Wiklander 1498817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1499817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1500817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1501817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA", 1502817466cbSJens Wiklander MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1503817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1504817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1505817466cbSJens Wiklander 0 }, 1506817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1507817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1508817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1509817466cbSJens Wiklander 1510817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C) 1511817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1512817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA", 1513817466cbSJens Wiklander MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1514817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1515817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1516817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_NODTLS }, 1517817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1518817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */ 1519817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 1520817466cbSJens Wiklander 1521817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 1522817466cbSJens Wiklander #if defined(MBEDTLS_AES_C) 1523817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C) 1524817466cbSJens Wiklander { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8", 1525817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE, 1526817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1527817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1528817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG }, 1529817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */ 1530817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */ 1531817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 1532817466cbSJens Wiklander 1533817466cbSJens Wiklander #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES) 1534817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 1535817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 1536817466cbSJens Wiklander #if defined(MBEDTLS_MD5_C) 1537817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5", 1538817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 1539817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1540817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1541817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1542817466cbSJens Wiklander #endif 1543817466cbSJens Wiklander 1544817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1545817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA", 1546817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 1547817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1548817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1549817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1550817466cbSJens Wiklander #endif 1551817466cbSJens Wiklander 1552817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1553817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256", 1554817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 1555817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1556817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1557817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1558817466cbSJens Wiklander #endif 1559817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 1560817466cbSJens Wiklander 1561817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 1562817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1563817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA", 1564817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 1565817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1566817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1567817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1568817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1569817466cbSJens Wiklander 1570817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1571817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256", 1572817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 1573817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1574817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1575817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1576817466cbSJens Wiklander #endif 1577817466cbSJens Wiklander 1578817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1579817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384", 1580817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 1581817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1582817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1583817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1584817466cbSJens Wiklander #endif 1585817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 1586817466cbSJens Wiklander 1587817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 1588817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1589817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA", 1590817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1591817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1592817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1593817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1594817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1595817466cbSJens Wiklander 1596817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1597817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256", 1598817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1599817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1600817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1601817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1602817466cbSJens Wiklander #endif 1603817466cbSJens Wiklander 1604817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1605817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384", 1606817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 1607817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1608817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1609817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1610817466cbSJens Wiklander #endif 1611817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 1612817466cbSJens Wiklander 1613817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 1614817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1615817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA", 1616817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1617817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1618817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1619817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1620817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1621817466cbSJens Wiklander 1622817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1623817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256", 1624817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1625817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1626817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1627817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1628817466cbSJens Wiklander #endif 1629817466cbSJens Wiklander 1630817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1631817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384", 1632817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 1633817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1634817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1635817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1636817466cbSJens Wiklander #endif 1637817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 1638817466cbSJens Wiklander 1639817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 1640817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1641817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA", 1642817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1643817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1644817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1645817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1646817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1647817466cbSJens Wiklander 1648817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C) 1649817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256", 1650817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1651817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1652817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1653817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1654817466cbSJens Wiklander #endif 1655817466cbSJens Wiklander 1656817466cbSJens Wiklander #if defined(MBEDTLS_SHA512_C) 1657817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384", 1658817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 1659817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 1660817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1661817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1662817466cbSJens Wiklander #endif 1663817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 1664817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 1665817466cbSJens Wiklander 1666817466cbSJens Wiklander #if defined(MBEDTLS_DES_C) 1667817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC) 1668817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 1669817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1670817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA", 1671817466cbSJens Wiklander MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 1672817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1673817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1674817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1675817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1676817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 1677817466cbSJens Wiklander 1678817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 1679817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C) 1680817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA", 1681817466cbSJens Wiklander MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 1682817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 1683817466cbSJens Wiklander MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 1684817466cbSJens Wiklander MBEDTLS_CIPHERSUITE_WEAK }, 1685817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */ 1686817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 1687817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */ 1688817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */ 1689817466cbSJens Wiklander #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */ 1690817466cbSJens Wiklander 1691817466cbSJens Wiklander { 0, "", 1692817466cbSJens Wiklander MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE, 1693817466cbSJens Wiklander 0, 0, 0, 0, 0 } 1694817466cbSJens Wiklander }; 1695817466cbSJens Wiklander 1696817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES) 1697817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites( void ) 1698817466cbSJens Wiklander { 1699817466cbSJens Wiklander return( ciphersuite_preference ); 1700817466cbSJens Wiklander } 1701817466cbSJens Wiklander #else 1702817466cbSJens Wiklander #define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \ 1703817466cbSJens Wiklander sizeof( ciphersuite_definitions[0] ) 1704817466cbSJens Wiklander static int supported_ciphersuites[MAX_CIPHERSUITES]; 1705817466cbSJens Wiklander static int supported_init = 0; 1706817466cbSJens Wiklander 1707817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites( void ) 1708817466cbSJens Wiklander { 1709817466cbSJens Wiklander /* 1710817466cbSJens Wiklander * On initial call filter out all ciphersuites not supported by current 1711817466cbSJens Wiklander * build based on presence in the ciphersuite_definitions. 1712817466cbSJens Wiklander */ 1713817466cbSJens Wiklander if( supported_init == 0 ) 1714817466cbSJens Wiklander { 1715817466cbSJens Wiklander const int *p; 1716817466cbSJens Wiklander int *q; 1717817466cbSJens Wiklander 1718817466cbSJens Wiklander for( p = ciphersuite_preference, q = supported_ciphersuites; 1719817466cbSJens Wiklander *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1; 1720817466cbSJens Wiklander p++ ) 1721817466cbSJens Wiklander { 1722817466cbSJens Wiklander #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES) 1723817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cs_info; 1724817466cbSJens Wiklander if( ( cs_info = mbedtls_ssl_ciphersuite_from_id( *p ) ) != NULL && 1725817466cbSJens Wiklander cs_info->cipher != MBEDTLS_CIPHER_ARC4_128 ) 1726817466cbSJens Wiklander #else 1727817466cbSJens Wiklander if( mbedtls_ssl_ciphersuite_from_id( *p ) != NULL ) 1728817466cbSJens Wiklander #endif 1729817466cbSJens Wiklander *(q++) = *p; 1730817466cbSJens Wiklander } 1731817466cbSJens Wiklander *q = 0; 1732817466cbSJens Wiklander 1733817466cbSJens Wiklander supported_init = 1; 1734817466cbSJens Wiklander } 1735817466cbSJens Wiklander 1736817466cbSJens Wiklander return( supported_ciphersuites ); 1737817466cbSJens Wiklander } 1738817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */ 1739817466cbSJens Wiklander 1740817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string( 1741817466cbSJens Wiklander const char *ciphersuite_name ) 1742817466cbSJens Wiklander { 1743817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 1744817466cbSJens Wiklander 1745817466cbSJens Wiklander if( NULL == ciphersuite_name ) 1746817466cbSJens Wiklander return( NULL ); 1747817466cbSJens Wiklander 1748817466cbSJens Wiklander while( cur->id != 0 ) 1749817466cbSJens Wiklander { 1750817466cbSJens Wiklander if( 0 == strcmp( cur->name, ciphersuite_name ) ) 1751817466cbSJens Wiklander return( cur ); 1752817466cbSJens Wiklander 1753817466cbSJens Wiklander cur++; 1754817466cbSJens Wiklander } 1755817466cbSJens Wiklander 1756817466cbSJens Wiklander return( NULL ); 1757817466cbSJens Wiklander } 1758817466cbSJens Wiklander 1759817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite ) 1760817466cbSJens Wiklander { 1761817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 1762817466cbSJens Wiklander 1763817466cbSJens Wiklander while( cur->id != 0 ) 1764817466cbSJens Wiklander { 1765817466cbSJens Wiklander if( cur->id == ciphersuite ) 1766817466cbSJens Wiklander return( cur ); 1767817466cbSJens Wiklander 1768817466cbSJens Wiklander cur++; 1769817466cbSJens Wiklander } 1770817466cbSJens Wiklander 1771817466cbSJens Wiklander return( NULL ); 1772817466cbSJens Wiklander } 1773817466cbSJens Wiklander 1774817466cbSJens Wiklander const char *mbedtls_ssl_get_ciphersuite_name( const int ciphersuite_id ) 1775817466cbSJens Wiklander { 1776817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur; 1777817466cbSJens Wiklander 1778817466cbSJens Wiklander cur = mbedtls_ssl_ciphersuite_from_id( ciphersuite_id ); 1779817466cbSJens Wiklander 1780817466cbSJens Wiklander if( cur == NULL ) 1781817466cbSJens Wiklander return( "unknown" ); 1782817466cbSJens Wiklander 1783817466cbSJens Wiklander return( cur->name ); 1784817466cbSJens Wiklander } 1785817466cbSJens Wiklander 1786817466cbSJens Wiklander int mbedtls_ssl_get_ciphersuite_id( const char *ciphersuite_name ) 1787817466cbSJens Wiklander { 1788817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur; 1789817466cbSJens Wiklander 1790817466cbSJens Wiklander cur = mbedtls_ssl_ciphersuite_from_string( ciphersuite_name ); 1791817466cbSJens Wiklander 1792817466cbSJens Wiklander if( cur == NULL ) 1793817466cbSJens Wiklander return( 0 ); 1794817466cbSJens Wiklander 1795817466cbSJens Wiklander return( cur->id ); 1796817466cbSJens Wiklander } 1797817466cbSJens Wiklander 1798817466cbSJens Wiklander #if defined(MBEDTLS_PK_C) 1799817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info ) 1800817466cbSJens Wiklander { 1801817466cbSJens Wiklander switch( info->key_exchange ) 1802817466cbSJens Wiklander { 1803817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA: 1804817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1805817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1806817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 1807817466cbSJens Wiklander return( MBEDTLS_PK_RSA ); 1808817466cbSJens Wiklander 1809817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1810817466cbSJens Wiklander return( MBEDTLS_PK_ECDSA ); 1811817466cbSJens Wiklander 1812817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 1813817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 1814817466cbSJens Wiklander return( MBEDTLS_PK_ECKEY ); 1815817466cbSJens Wiklander 1816817466cbSJens Wiklander default: 1817817466cbSJens Wiklander return( MBEDTLS_PK_NONE ); 1818817466cbSJens Wiklander } 1819817466cbSJens Wiklander } 1820817466cbSJens Wiklander 1821817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg( const mbedtls_ssl_ciphersuite_t *info ) 1822817466cbSJens Wiklander { 1823817466cbSJens Wiklander switch( info->key_exchange ) 1824817466cbSJens Wiklander { 1825817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA: 1826817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 1827817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1828817466cbSJens Wiklander return( MBEDTLS_PK_RSA ); 1829817466cbSJens Wiklander 1830817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1831817466cbSJens Wiklander return( MBEDTLS_PK_ECDSA ); 1832817466cbSJens Wiklander 1833817466cbSJens Wiklander default: 1834817466cbSJens Wiklander return( MBEDTLS_PK_NONE ); 1835817466cbSJens Wiklander } 1836817466cbSJens Wiklander } 1837817466cbSJens Wiklander 1838817466cbSJens Wiklander #endif /* MBEDTLS_PK_C */ 1839817466cbSJens Wiklander 1840817466cbSJens Wiklander #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) 1841817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info ) 1842817466cbSJens Wiklander { 1843817466cbSJens Wiklander switch( info->key_exchange ) 1844817466cbSJens Wiklander { 1845817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 1846817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 1847817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 1848817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 1849817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 1850817466cbSJens Wiklander return( 1 ); 1851817466cbSJens Wiklander 1852817466cbSJens Wiklander default: 1853817466cbSJens Wiklander return( 0 ); 1854817466cbSJens Wiklander } 1855817466cbSJens Wiklander } 1856817466cbSJens Wiklander #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C */ 1857817466cbSJens Wiklander 1858817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED) 1859817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info ) 1860817466cbSJens Wiklander { 1861817466cbSJens Wiklander switch( info->key_exchange ) 1862817466cbSJens Wiklander { 1863817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_PSK: 1864817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 1865817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_PSK: 1866817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 1867817466cbSJens Wiklander return( 1 ); 1868817466cbSJens Wiklander 1869817466cbSJens Wiklander default: 1870817466cbSJens Wiklander return( 0 ); 1871817466cbSJens Wiklander } 1872817466cbSJens Wiklander } 1873817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED */ 1874817466cbSJens Wiklander 1875817466cbSJens Wiklander #endif /* MBEDTLS_SSL_TLS_C */ 1876