mbed TLS Build

Dependents:   Encrypt_Decrypt1 mbed_blink_tls encrypt encrypt

Committer:
markrad
Date:
Thu Jan 05 00:18:44 2017 +0000
Revision:
0:cdf462088d13
Initial commit

Who changed what in which revision?

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