mbed TLS library

Dependents:   HTTPClient-SSL WS_SERVER

Committer:
ansond
Date:
Thu Jun 11 03:27:03 2015 +0000
Revision:
0:137634ff4186
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 0:137634ff4186 1 /**
ansond 0:137634ff4186 2 * \file ssl_ciphersuites.c
ansond 0:137634ff4186 3 *
ansond 0:137634ff4186 4 * \brief SSL ciphersuites for mbed TLS
ansond 0:137634ff4186 5 *
ansond 0:137634ff4186 6 * Copyright (C) 2006-2014, ARM Limited, All Rights Reserved
ansond 0:137634ff4186 7 *
ansond 0:137634ff4186 8 * This file is part of mbed TLS (https://tls.mbed.org)
ansond 0:137634ff4186 9 *
ansond 0:137634ff4186 10 * This program is free software; you can redistribute it and/or modify
ansond 0:137634ff4186 11 * it under the terms of the GNU General Public License as published by
ansond 0:137634ff4186 12 * the Free Software Foundation; either version 2 of the License, or
ansond 0:137634ff4186 13 * (at your option) any later version.
ansond 0:137634ff4186 14 *
ansond 0:137634ff4186 15 * This program is distributed in the hope that it will be useful,
ansond 0:137634ff4186 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ansond 0:137634ff4186 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ansond 0:137634ff4186 18 * GNU General Public License for more details.
ansond 0:137634ff4186 19 *
ansond 0:137634ff4186 20 * You should have received a copy of the GNU General Public License along
ansond 0:137634ff4186 21 * with this program; if not, write to the Free Software Foundation, Inc.,
ansond 0:137634ff4186 22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
ansond 0:137634ff4186 23 */
ansond 0:137634ff4186 24
ansond 0:137634ff4186 25 #if !defined(POLARSSL_CONFIG_FILE)
ansond 0:137634ff4186 26 #include "polarssl/config.h"
ansond 0:137634ff4186 27 #else
ansond 0:137634ff4186 28 #include POLARSSL_CONFIG_FILE
ansond 0:137634ff4186 29 #endif
ansond 0:137634ff4186 30
ansond 0:137634ff4186 31 #if defined(POLARSSL_SSL_TLS_C)
ansond 0:137634ff4186 32
ansond 0:137634ff4186 33 #include "polarssl/ssl_ciphersuites.h"
ansond 0:137634ff4186 34 #include "polarssl/ssl.h"
ansond 0:137634ff4186 35
ansond 0:137634ff4186 36 // #include <stdlib.h>
ansond 0:137634ff4186 37 #include <string.h>
ansond 0:137634ff4186 38
ansond 0:137634ff4186 39 #if defined(_MSC_VER) && !defined strcasecmp && !defined(EFIX64) && \
ansond 0:137634ff4186 40 !defined(EFI32)
ansond 0:137634ff4186 41 #define strcasecmp _stricmp
ansond 0:137634ff4186 42 #endif
ansond 0:137634ff4186 43
ansond 0:137634ff4186 44 /*
ansond 0:137634ff4186 45 * Ordered from most preferred to least preferred in terms of security.
ansond 0:137634ff4186 46 *
ansond 0:137634ff4186 47 * Current rule (except rc4, weak and null which come last):
ansond 0:137634ff4186 48 * 1. By key exchange:
ansond 0:137634ff4186 49 * Forward-secure non-PSK > forward-secure PSK > other non-PSK > other PSK
ansond 0:137634ff4186 50 * 2. By key length and cipher:
ansond 0:137634ff4186 51 * AES-256 > Camellia-256 > AES-128 > Camellia-128 > 3DES
ansond 0:137634ff4186 52 * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
ansond 0:137634ff4186 53 * 4. By hash function used when relevant
ansond 0:137634ff4186 54 * 5. By key exchange/auth again: EC > non-EC
ansond 0:137634ff4186 55 */
ansond 0:137634ff4186 56 static const int ciphersuite_preference[] =
ansond 0:137634ff4186 57 {
ansond 0:137634ff4186 58 #if defined(SSL_CIPHERSUITES)
ansond 0:137634ff4186 59 SSL_CIPHERSUITES,
ansond 0:137634ff4186 60 #else
ansond 0:137634ff4186 61 /* All AES-256 ephemeral suites */
ansond 0:137634ff4186 62 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 63 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 64 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 65 TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
ansond 0:137634ff4186 66 TLS_DHE_RSA_WITH_AES_256_CCM,
ansond 0:137634ff4186 67 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 68 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 69 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
ansond 0:137634ff4186 70 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 71 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 72 TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 73 TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
ansond 0:137634ff4186 74 TLS_DHE_RSA_WITH_AES_256_CCM_8,
ansond 0:137634ff4186 75
ansond 0:137634ff4186 76 /* All CAMELLIA-256 ephemeral suites */
ansond 0:137634ff4186 77 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 78 TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 79 TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 80 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 81 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 82 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
ansond 0:137634ff4186 83 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
ansond 0:137634ff4186 84
ansond 0:137634ff4186 85 /* All AES-128 ephemeral suites */
ansond 0:137634ff4186 86 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 87 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 88 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 89 TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
ansond 0:137634ff4186 90 TLS_DHE_RSA_WITH_AES_128_CCM,
ansond 0:137634ff4186 91 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 92 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 93 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 94 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 95 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 96 TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 97 TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
ansond 0:137634ff4186 98 TLS_DHE_RSA_WITH_AES_128_CCM_8,
ansond 0:137634ff4186 99
ansond 0:137634ff4186 100 /* All CAMELLIA-128 ephemeral suites */
ansond 0:137634ff4186 101 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 102 TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 103 TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 104 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 105 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 106 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 107 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
ansond 0:137634ff4186 108
ansond 0:137634ff4186 109 /* All remaining >= 128-bit ephemeral suites */
ansond 0:137634ff4186 110 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 111 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 112 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 113
ansond 0:137634ff4186 114 /* The PSK ephemeral suites */
ansond 0:137634ff4186 115 TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 116 TLS_DHE_PSK_WITH_AES_256_CCM,
ansond 0:137634ff4186 117 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 118 TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 119 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 120 TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 121 TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 122 TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 123 TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 124 TLS_DHE_PSK_WITH_AES_256_CCM_8,
ansond 0:137634ff4186 125
ansond 0:137634ff4186 126 TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 127 TLS_DHE_PSK_WITH_AES_128_CCM,
ansond 0:137634ff4186 128 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 129 TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 130 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 131 TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 132 TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 133 TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 134 TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 135 TLS_DHE_PSK_WITH_AES_128_CCM_8,
ansond 0:137634ff4186 136
ansond 0:137634ff4186 137 TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 138 TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 139
ansond 0:137634ff4186 140 /* All AES-256 suites */
ansond 0:137634ff4186 141 TLS_RSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 142 TLS_RSA_WITH_AES_256_CCM,
ansond 0:137634ff4186 143 TLS_RSA_WITH_AES_256_CBC_SHA256,
ansond 0:137634ff4186 144 TLS_RSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 145 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 146 TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 147 TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 148 TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 149 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 150 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 151 TLS_RSA_WITH_AES_256_CCM_8,
ansond 0:137634ff4186 152
ansond 0:137634ff4186 153 /* All CAMELLIA-256 suites */
ansond 0:137634ff4186 154 TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 155 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
ansond 0:137634ff4186 156 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
ansond 0:137634ff4186 157 TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 158 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 159 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 160 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 161
ansond 0:137634ff4186 162 /* All AES-128 suites */
ansond 0:137634ff4186 163 TLS_RSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 164 TLS_RSA_WITH_AES_128_CCM,
ansond 0:137634ff4186 165 TLS_RSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 166 TLS_RSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 167 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 168 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 169 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 170 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 171 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 172 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 173 TLS_RSA_WITH_AES_128_CCM_8,
ansond 0:137634ff4186 174
ansond 0:137634ff4186 175 /* All CAMELLIA-128 suites */
ansond 0:137634ff4186 176 TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 177 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 178 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
ansond 0:137634ff4186 179 TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 180 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 181 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 182 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 183
ansond 0:137634ff4186 184 /* All remaining >= 128-bit suites */
ansond 0:137634ff4186 185 TLS_RSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 186 TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 187 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 188
ansond 0:137634ff4186 189 /* The RSA PSK suites */
ansond 0:137634ff4186 190 TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 191 TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 192 TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 193 TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 194 TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 195
ansond 0:137634ff4186 196 TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 197 TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 198 TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 199 TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 200 TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 201
ansond 0:137634ff4186 202 TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 203
ansond 0:137634ff4186 204 /* The PSK suites */
ansond 0:137634ff4186 205 TLS_PSK_WITH_AES_256_GCM_SHA384,
ansond 0:137634ff4186 206 TLS_PSK_WITH_AES_256_CCM,
ansond 0:137634ff4186 207 TLS_PSK_WITH_AES_256_CBC_SHA384,
ansond 0:137634ff4186 208 TLS_PSK_WITH_AES_256_CBC_SHA,
ansond 0:137634ff4186 209 TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
ansond 0:137634ff4186 210 TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
ansond 0:137634ff4186 211 TLS_PSK_WITH_AES_256_CCM_8,
ansond 0:137634ff4186 212
ansond 0:137634ff4186 213 TLS_PSK_WITH_AES_128_GCM_SHA256,
ansond 0:137634ff4186 214 TLS_PSK_WITH_AES_128_CCM,
ansond 0:137634ff4186 215 TLS_PSK_WITH_AES_128_CBC_SHA256,
ansond 0:137634ff4186 216 TLS_PSK_WITH_AES_128_CBC_SHA,
ansond 0:137634ff4186 217 TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
ansond 0:137634ff4186 218 TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
ansond 0:137634ff4186 219 TLS_PSK_WITH_AES_128_CCM_8,
ansond 0:137634ff4186 220
ansond 0:137634ff4186 221 TLS_PSK_WITH_3DES_EDE_CBC_SHA,
ansond 0:137634ff4186 222
ansond 0:137634ff4186 223 /* RC4 suites */
ansond 0:137634ff4186 224 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
ansond 0:137634ff4186 225 TLS_ECDHE_RSA_WITH_RC4_128_SHA,
ansond 0:137634ff4186 226 TLS_ECDHE_PSK_WITH_RC4_128_SHA,
ansond 0:137634ff4186 227 TLS_DHE_PSK_WITH_RC4_128_SHA,
ansond 0:137634ff4186 228 TLS_RSA_WITH_RC4_128_SHA,
ansond 0:137634ff4186 229 TLS_RSA_WITH_RC4_128_MD5,
ansond 0:137634ff4186 230 TLS_ECDH_RSA_WITH_RC4_128_SHA,
ansond 0:137634ff4186 231 TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
ansond 0:137634ff4186 232 TLS_RSA_PSK_WITH_RC4_128_SHA,
ansond 0:137634ff4186 233 TLS_PSK_WITH_RC4_128_SHA,
ansond 0:137634ff4186 234
ansond 0:137634ff4186 235 /* Weak suites */
ansond 0:137634ff4186 236 TLS_DHE_RSA_WITH_DES_CBC_SHA,
ansond 0:137634ff4186 237 TLS_RSA_WITH_DES_CBC_SHA,
ansond 0:137634ff4186 238
ansond 0:137634ff4186 239 /* NULL suites */
ansond 0:137634ff4186 240 TLS_ECDHE_ECDSA_WITH_NULL_SHA,
ansond 0:137634ff4186 241 TLS_ECDHE_RSA_WITH_NULL_SHA,
ansond 0:137634ff4186 242 TLS_ECDHE_PSK_WITH_NULL_SHA384,
ansond 0:137634ff4186 243 TLS_ECDHE_PSK_WITH_NULL_SHA256,
ansond 0:137634ff4186 244 TLS_ECDHE_PSK_WITH_NULL_SHA,
ansond 0:137634ff4186 245 TLS_DHE_PSK_WITH_NULL_SHA384,
ansond 0:137634ff4186 246 TLS_DHE_PSK_WITH_NULL_SHA256,
ansond 0:137634ff4186 247 TLS_DHE_PSK_WITH_NULL_SHA,
ansond 0:137634ff4186 248
ansond 0:137634ff4186 249 TLS_RSA_WITH_NULL_SHA256,
ansond 0:137634ff4186 250 TLS_RSA_WITH_NULL_SHA,
ansond 0:137634ff4186 251 TLS_RSA_WITH_NULL_MD5,
ansond 0:137634ff4186 252 TLS_ECDH_RSA_WITH_NULL_SHA,
ansond 0:137634ff4186 253 TLS_ECDH_ECDSA_WITH_NULL_SHA,
ansond 0:137634ff4186 254 TLS_RSA_PSK_WITH_NULL_SHA384,
ansond 0:137634ff4186 255 TLS_RSA_PSK_WITH_NULL_SHA256,
ansond 0:137634ff4186 256 TLS_RSA_PSK_WITH_NULL_SHA,
ansond 0:137634ff4186 257 TLS_PSK_WITH_NULL_SHA384,
ansond 0:137634ff4186 258 TLS_PSK_WITH_NULL_SHA256,
ansond 0:137634ff4186 259 TLS_PSK_WITH_NULL_SHA,
ansond 0:137634ff4186 260
ansond 0:137634ff4186 261 #endif /* SSL_CIPHERSUITES */
ansond 0:137634ff4186 262 0
ansond 0:137634ff4186 263 };
ansond 0:137634ff4186 264
ansond 0:137634ff4186 265 static const ssl_ciphersuite_t ciphersuite_definitions[] =
ansond 0:137634ff4186 266 {
ansond 0:137634ff4186 267 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
ansond 0:137634ff4186 268 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 269 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 270 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 271 { TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 272 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 273 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 274 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 275 0 },
ansond 0:137634ff4186 276 { TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 277 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 278 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 279 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 280 0 },
ansond 0:137634ff4186 281 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 282 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 283 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 284 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 285 { TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 286 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 287 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 288 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 289 0 },
ansond 0:137634ff4186 290 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 291 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 292 { TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 293 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 294 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 295 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 296 0 },
ansond 0:137634ff4186 297 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 298 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 299 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 300 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 301 { TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 302 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 303 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 304 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 305 0 },
ansond 0:137634ff4186 306 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 307 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 308 { TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 309 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 310 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 311 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 312 0 },
ansond 0:137634ff4186 313 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 314 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 315 #if defined(POLARSSL_CCM_C)
ansond 0:137634ff4186 316 { TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
ansond 0:137634ff4186 317 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 318 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 319 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 320 0 },
ansond 0:137634ff4186 321 { TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
ansond 0:137634ff4186 322 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 323 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 324 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 325 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 326 { TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM",
ansond 0:137634ff4186 327 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 328 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 329 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 330 0 },
ansond 0:137634ff4186 331 { TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
ansond 0:137634ff4186 332 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 333 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 334 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 335 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 336 #endif /* POLARSSL_CCM_C */
ansond 0:137634ff4186 337 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 338
ansond 0:137634ff4186 339 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 340 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 341 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 342 { TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 343 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 344 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 345 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 346 0 },
ansond 0:137634ff4186 347 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 348 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 349 { TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 350 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 351 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 352 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 353 0 },
ansond 0:137634ff4186 354 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 355 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 356
ansond 0:137634ff4186 357 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 358 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 359 { TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 360 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 361 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 362 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 363 0 },
ansond 0:137634ff4186 364 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 365 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 366 { TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 367 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 368 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 369 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 370 0 },
ansond 0:137634ff4186 371 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 372 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 373 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 374
ansond 0:137634ff4186 375 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 376 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 377 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 378 { TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 379 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 380 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 381 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 382 0 },
ansond 0:137634ff4186 383 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 384 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 385 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 386
ansond 0:137634ff4186 387 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 388 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 389 { TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA",
ansond 0:137634ff4186 390 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 391 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 392 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 393 0 },
ansond 0:137634ff4186 394 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 395 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 396
ansond 0:137634ff4186 397 #if defined(POLARSSL_CIPHER_NULL_CIPHER)
ansond 0:137634ff4186 398 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 399 { TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
ansond 0:137634ff4186 400 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA,
ansond 0:137634ff4186 401 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 402 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 403 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 404 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 405 #endif /* POLARSSL_CIPHER_NULL_CIPHER */
ansond 0:137634ff4186 406 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
ansond 0:137634ff4186 407
ansond 0:137634ff4186 408 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
ansond 0:137634ff4186 409 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 410 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 411 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 412 { TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 413 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 414 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 415 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 416 0 },
ansond 0:137634ff4186 417 { TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 418 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 419 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 420 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 421 0 },
ansond 0:137634ff4186 422 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 423 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 424 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 425 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 426 { TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 427 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 428 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 429 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 430 0 },
ansond 0:137634ff4186 431 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 432 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 433 { TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 434 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 435 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 436 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 437 0 },
ansond 0:137634ff4186 438 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 439 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 440 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 441 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 442 { TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 443 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 444 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 445 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 446 0 },
ansond 0:137634ff4186 447 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 448 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 449 { TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 450 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 451 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 452 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 453 0 },
ansond 0:137634ff4186 454 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 455 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 456 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 457
ansond 0:137634ff4186 458 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 459 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 460 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 461 { TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 462 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 463 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 464 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 465 0 },
ansond 0:137634ff4186 466 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 467 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 468 { TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 469 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 470 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 471 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 472 0 },
ansond 0:137634ff4186 473 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 474 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 475
ansond 0:137634ff4186 476 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 477 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 478 { TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 479 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 480 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 481 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 482 0 },
ansond 0:137634ff4186 483 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 484 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 485 { TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 486 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 487 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 488 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 489 0 },
ansond 0:137634ff4186 490 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 491 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 492 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 493
ansond 0:137634ff4186 494 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 495 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 496 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 497 { TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 498 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 499 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 500 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 501 0 },
ansond 0:137634ff4186 502 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 503 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 504 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 505
ansond 0:137634ff4186 506 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 507 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 508 { TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA",
ansond 0:137634ff4186 509 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 510 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 511 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 512 0 },
ansond 0:137634ff4186 513 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 514 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 515
ansond 0:137634ff4186 516 #if defined(POLARSSL_CIPHER_NULL_CIPHER)
ansond 0:137634ff4186 517 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 518 { TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
ansond 0:137634ff4186 519 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_RSA,
ansond 0:137634ff4186 520 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 521 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 522 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 523 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 524 #endif /* POLARSSL_CIPHER_NULL_CIPHER */
ansond 0:137634ff4186 525 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
ansond 0:137634ff4186 526
ansond 0:137634ff4186 527 #if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
ansond 0:137634ff4186 528 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 529 #if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 530 { TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 531 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 532 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 533 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 534 0 },
ansond 0:137634ff4186 535 #endif /* POLARSSL_SHA512_C && POLARSSL_GCM_C */
ansond 0:137634ff4186 536
ansond 0:137634ff4186 537 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 538 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 539 { TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 540 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 541 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 542 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 543 0 },
ansond 0:137634ff4186 544 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 545
ansond 0:137634ff4186 546 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 547 { TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 548 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 549 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 550 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 551 0 },
ansond 0:137634ff4186 552
ansond 0:137634ff4186 553 { TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
ansond 0:137634ff4186 554 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 555 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 556 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 557 0 },
ansond 0:137634ff4186 558 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 559 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 560
ansond 0:137634ff4186 561 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 562 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 563 { TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 564 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 565 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 566 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 567 0 },
ansond 0:137634ff4186 568
ansond 0:137634ff4186 569 { TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 570 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 571 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 572 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 573 0 },
ansond 0:137634ff4186 574 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 575 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 576 #if defined(POLARSSL_CCM_C)
ansond 0:137634ff4186 577 { TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
ansond 0:137634ff4186 578 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 579 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 580 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 581 0 },
ansond 0:137634ff4186 582 { TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
ansond 0:137634ff4186 583 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 584 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 585 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 586 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 587 { TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
ansond 0:137634ff4186 588 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 589 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 590 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 591 0 },
ansond 0:137634ff4186 592 { TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
ansond 0:137634ff4186 593 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 594 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 595 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 596 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 597 #endif /* POLARSSL_CCM_C */
ansond 0:137634ff4186 598 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 599
ansond 0:137634ff4186 600 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 601 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 602 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 603 { TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 604 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 605 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 606 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 607 0 },
ansond 0:137634ff4186 608
ansond 0:137634ff4186 609 { TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
ansond 0:137634ff4186 610 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 611 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 612 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 613 0 },
ansond 0:137634ff4186 614 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 615
ansond 0:137634ff4186 616 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 617 { TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
ansond 0:137634ff4186 618 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 619 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 620 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 621 0 },
ansond 0:137634ff4186 622
ansond 0:137634ff4186 623 { TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
ansond 0:137634ff4186 624 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 625 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 626 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 627 0 },
ansond 0:137634ff4186 628 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 629 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 630 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 631 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 632 { TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 633 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 634 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 635 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 636 0 },
ansond 0:137634ff4186 637 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 638
ansond 0:137634ff4186 639 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 640 { TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 641 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 642 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 643 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 644 0 },
ansond 0:137634ff4186 645 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 646 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 647 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 648
ansond 0:137634ff4186 649 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 650 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 651 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 652 { TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 653 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 654 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 655 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 656 0 },
ansond 0:137634ff4186 657 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 658 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 659 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 660 #endif /* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */
ansond 0:137634ff4186 661
ansond 0:137634ff4186 662 #if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
ansond 0:137634ff4186 663 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 664 #if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 665 { TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 666 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 667 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 668 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 669 0 },
ansond 0:137634ff4186 670 #endif /* POLARSSL_SHA512_C && POLARSSL_GCM_C */
ansond 0:137634ff4186 671
ansond 0:137634ff4186 672 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 673 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 674 { TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 675 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 676 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 677 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 678 0 },
ansond 0:137634ff4186 679 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 680
ansond 0:137634ff4186 681 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 682 { TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 683 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 684 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 685 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 686 0 },
ansond 0:137634ff4186 687
ansond 0:137634ff4186 688 { TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256",
ansond 0:137634ff4186 689 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 690 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 691 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 692 0 },
ansond 0:137634ff4186 693 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 694 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 695
ansond 0:137634ff4186 696 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 697 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 698 { TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 699 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 700 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 701 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 702 0 },
ansond 0:137634ff4186 703
ansond 0:137634ff4186 704 { TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 705 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 706 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 707 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 708 0 },
ansond 0:137634ff4186 709 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 710 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 711 #if defined(POLARSSL_CCM_C)
ansond 0:137634ff4186 712 { TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
ansond 0:137634ff4186 713 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 714 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 715 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 716 0 },
ansond 0:137634ff4186 717 { TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
ansond 0:137634ff4186 718 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 719 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 720 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 721 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 722 { TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
ansond 0:137634ff4186 723 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 724 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 725 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 726 0 },
ansond 0:137634ff4186 727 { TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
ansond 0:137634ff4186 728 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 729 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 730 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 731 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 732 #endif /* POLARSSL_CCM_C */
ansond 0:137634ff4186 733 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 734
ansond 0:137634ff4186 735 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 736 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 737 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 738 { TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 739 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 740 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 741 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 742 0 },
ansond 0:137634ff4186 743
ansond 0:137634ff4186 744 { TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
ansond 0:137634ff4186 745 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 746 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 747 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 748 0 },
ansond 0:137634ff4186 749 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 750
ansond 0:137634ff4186 751 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 752 { TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
ansond 0:137634ff4186 753 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 754 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 755 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 756 0 },
ansond 0:137634ff4186 757
ansond 0:137634ff4186 758 { TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
ansond 0:137634ff4186 759 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 760 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 761 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 762 0 },
ansond 0:137634ff4186 763 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 764 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 765
ansond 0:137634ff4186 766 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 767 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 768 { TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 769 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 770 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 771 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 772 0 },
ansond 0:137634ff4186 773 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 774
ansond 0:137634ff4186 775 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 776 { TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 777 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 778 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 779 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 780 0 },
ansond 0:137634ff4186 781 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 782 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 783 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 784
ansond 0:137634ff4186 785 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 786 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 787 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 788 { TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 789 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 790 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 791 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 792 0 },
ansond 0:137634ff4186 793 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 794 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 795 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 796
ansond 0:137634ff4186 797 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 798 #if defined(POLARSSL_MD5_C)
ansond 0:137634ff4186 799 { TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5",
ansond 0:137634ff4186 800 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_MD5, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 801 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 802 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 803 0 },
ansond 0:137634ff4186 804 #endif
ansond 0:137634ff4186 805
ansond 0:137634ff4186 806 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 807 { TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA",
ansond 0:137634ff4186 808 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 809 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 810 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 811 0 },
ansond 0:137634ff4186 812 #endif
ansond 0:137634ff4186 813 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 814 #endif /* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
ansond 0:137634ff4186 815
ansond 0:137634ff4186 816 #if defined(POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED)
ansond 0:137634ff4186 817 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 818 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 819 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 820 { TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 821 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 822 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 823 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 824 0 },
ansond 0:137634ff4186 825 { TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 826 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 827 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 828 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 829 0 },
ansond 0:137634ff4186 830 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 831 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 832 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 833 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 834 { TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 835 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 836 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 837 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 838 0 },
ansond 0:137634ff4186 839 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 840 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 841 { TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 842 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 843 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 844 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 845 0 },
ansond 0:137634ff4186 846 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 847 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 848 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 849 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 850 { TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 851 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 852 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 853 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 854 0 },
ansond 0:137634ff4186 855 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 856 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 857 { TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 858 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 859 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 860 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 861 0 },
ansond 0:137634ff4186 862 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 863 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 864 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 865
ansond 0:137634ff4186 866 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 867 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 868 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 869 { TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 870 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 871 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 872 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 873 0 },
ansond 0:137634ff4186 874 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 875 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 876 { TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 877 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 878 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 879 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 880 0 },
ansond 0:137634ff4186 881 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 882 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 883
ansond 0:137634ff4186 884 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 885 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 886 { TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 887 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 888 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 889 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 890 0 },
ansond 0:137634ff4186 891 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 892 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 893 { TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 894 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 895 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 896 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 897 0 },
ansond 0:137634ff4186 898 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 899 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 900 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 901
ansond 0:137634ff4186 902 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 903 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 904 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 905 { TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 906 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 907 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 908 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 909 0 },
ansond 0:137634ff4186 910 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 911 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 912 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 913
ansond 0:137634ff4186 914 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 915 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 916 { TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA",
ansond 0:137634ff4186 917 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 918 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 919 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 920 0 },
ansond 0:137634ff4186 921 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 922 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 923
ansond 0:137634ff4186 924 #if defined(POLARSSL_CIPHER_NULL_CIPHER)
ansond 0:137634ff4186 925 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 926 { TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
ansond 0:137634ff4186 927 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_RSA,
ansond 0:137634ff4186 928 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 929 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 930 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 931 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 932 #endif /* POLARSSL_CIPHER_NULL_CIPHER */
ansond 0:137634ff4186 933 #endif /* POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED */
ansond 0:137634ff4186 934
ansond 0:137634ff4186 935 #if defined(POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
ansond 0:137634ff4186 936 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 937 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 938 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 939 { TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 940 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 941 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 942 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 943 0 },
ansond 0:137634ff4186 944 { TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 945 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 946 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 947 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 948 0 },
ansond 0:137634ff4186 949 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 950 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 951 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 952 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 953 { TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 954 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 955 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 956 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 957 0 },
ansond 0:137634ff4186 958 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 959 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 960 { TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 961 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 962 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 963 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 964 0 },
ansond 0:137634ff4186 965 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 966 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 967 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 968 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 969 { TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 970 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 971 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 972 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 973 0 },
ansond 0:137634ff4186 974 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 975 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 976 { TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 977 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 978 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 979 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 980 0 },
ansond 0:137634ff4186 981 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 982 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 983 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 984
ansond 0:137634ff4186 985 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 986 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 987 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 988 { TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 989 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 990 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 991 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 992 0 },
ansond 0:137634ff4186 993 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 994 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 995 { TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 996 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 997 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 998 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 999 0 },
ansond 0:137634ff4186 1000 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1001 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1002
ansond 0:137634ff4186 1003 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1004 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1005 { TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 1006 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 1007 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1008 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1009 0 },
ansond 0:137634ff4186 1010 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1011 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1012 { TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 1013 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 1014 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1015 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1016 0 },
ansond 0:137634ff4186 1017 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1018 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1019 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 1020
ansond 0:137634ff4186 1021 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1022 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1023 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1024 { TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 1025 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 1026 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1027 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1028 0 },
ansond 0:137634ff4186 1029 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1030 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1031 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1032
ansond 0:137634ff4186 1033 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 1034 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1035 { TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA",
ansond 0:137634ff4186 1036 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 1037 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1038 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1039 0 },
ansond 0:137634ff4186 1040 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1041 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 1042
ansond 0:137634ff4186 1043 #if defined(POLARSSL_CIPHER_NULL_CIPHER)
ansond 0:137634ff4186 1044 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1045 { TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
ansond 0:137634ff4186 1046 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDH_ECDSA,
ansond 0:137634ff4186 1047 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1048 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1049 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1050 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1051 #endif /* POLARSSL_CIPHER_NULL_CIPHER */
ansond 0:137634ff4186 1052 #endif /* POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
ansond 0:137634ff4186 1053
ansond 0:137634ff4186 1054 #if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
ansond 0:137634ff4186 1055 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 1056 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1057 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1058 { TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 1059 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1060 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1061 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1062 0 },
ansond 0:137634ff4186 1063 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1064
ansond 0:137634ff4186 1065 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1066 { TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 1067 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1068 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1069 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1070 0 },
ansond 0:137634ff4186 1071 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1072 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1073
ansond 0:137634ff4186 1074 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1075 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1076 { TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 1077 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1078 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1079 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1080 0 },
ansond 0:137634ff4186 1081 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1082
ansond 0:137634ff4186 1083 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1084 { TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 1085 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1086 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1087 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1088 0 },
ansond 0:137634ff4186 1089 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1090
ansond 0:137634ff4186 1091 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1092 { TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 1093 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1094 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1095 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1096 0 },
ansond 0:137634ff4186 1097
ansond 0:137634ff4186 1098 { TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 1099 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1100 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1101 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1102 0 },
ansond 0:137634ff4186 1103 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1104 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1105 #if defined(POLARSSL_CCM_C)
ansond 0:137634ff4186 1106 { TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
ansond 0:137634ff4186 1107 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1108 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1109 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1110 0 },
ansond 0:137634ff4186 1111 { TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
ansond 0:137634ff4186 1112 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1113 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1114 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1115 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 1116 { TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
ansond 0:137634ff4186 1117 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1118 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1119 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1120 0 },
ansond 0:137634ff4186 1121 { TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
ansond 0:137634ff4186 1122 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1123 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1124 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1125 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 1126 #endif /* POLARSSL_CCM_C */
ansond 0:137634ff4186 1127 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 1128
ansond 0:137634ff4186 1129 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 1130 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1131 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1132 { TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 1133 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1134 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1135 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1136 0 },
ansond 0:137634ff4186 1137 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1138
ansond 0:137634ff4186 1139 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1140 { TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 1141 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1142 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1143 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1144 0 },
ansond 0:137634ff4186 1145 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1146 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1147
ansond 0:137634ff4186 1148 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1149 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1150 { TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 1151 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1152 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1153 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1154 0 },
ansond 0:137634ff4186 1155 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1156
ansond 0:137634ff4186 1157 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1158 { TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 1159 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1160 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1161 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1162 0 },
ansond 0:137634ff4186 1163 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1164 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1165 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 1166
ansond 0:137634ff4186 1167 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1168 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1169 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1170 { TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 1171 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1172 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1173 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1174 0 },
ansond 0:137634ff4186 1175 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1176 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1177 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1178
ansond 0:137634ff4186 1179 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 1180 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1181 { TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA",
ansond 0:137634ff4186 1182 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1183 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1184 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1185 0 },
ansond 0:137634ff4186 1186 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1187 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 1188 #endif /* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */
ansond 0:137634ff4186 1189
ansond 0:137634ff4186 1190 #if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
ansond 0:137634ff4186 1191 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 1192 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1193 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1194 { TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 1195 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1196 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1197 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1198 0 },
ansond 0:137634ff4186 1199 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1200
ansond 0:137634ff4186 1201 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1202 { TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 1203 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1204 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1205 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1206 0 },
ansond 0:137634ff4186 1207 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1208 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1209
ansond 0:137634ff4186 1210 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1211 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1212 { TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 1213 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1214 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1215 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1216 0 },
ansond 0:137634ff4186 1217 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1218
ansond 0:137634ff4186 1219 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1220 { TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 1221 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1222 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1223 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1224 0 },
ansond 0:137634ff4186 1225 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1226
ansond 0:137634ff4186 1227 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1228 { TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 1229 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1230 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1231 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1232 0 },
ansond 0:137634ff4186 1233
ansond 0:137634ff4186 1234 { TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 1235 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1236 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1237 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1238 0 },
ansond 0:137634ff4186 1239 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1240 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1241 #if defined(POLARSSL_CCM_C)
ansond 0:137634ff4186 1242 { TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
ansond 0:137634ff4186 1243 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1244 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1245 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1246 0 },
ansond 0:137634ff4186 1247 { TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
ansond 0:137634ff4186 1248 POLARSSL_CIPHER_AES_256_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1249 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1250 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1251 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 1252 { TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
ansond 0:137634ff4186 1253 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1254 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1255 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1256 0 },
ansond 0:137634ff4186 1257 { TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
ansond 0:137634ff4186 1258 POLARSSL_CIPHER_AES_128_CCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1259 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1260 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1261 POLARSSL_CIPHERSUITE_SHORT_TAG },
ansond 0:137634ff4186 1262 #endif /* POLARSSL_CCM_C */
ansond 0:137634ff4186 1263 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 1264
ansond 0:137634ff4186 1265 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 1266 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1267 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1268 { TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 1269 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1270 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1271 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1272 0 },
ansond 0:137634ff4186 1273 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1274
ansond 0:137634ff4186 1275 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1276 { TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 1277 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1278 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1279 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1280 0 },
ansond 0:137634ff4186 1281 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1282 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1283
ansond 0:137634ff4186 1284 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1285 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1286 { TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 1287 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1288 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1289 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1290 0 },
ansond 0:137634ff4186 1291 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1292
ansond 0:137634ff4186 1293 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1294 { TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 1295 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1296 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1297 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1298 0 },
ansond 0:137634ff4186 1299 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1300 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1301 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 1302
ansond 0:137634ff4186 1303 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1304 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1305 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1306 { TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 1307 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1308 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1309 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1310 0 },
ansond 0:137634ff4186 1311 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1312 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1313 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1314
ansond 0:137634ff4186 1315 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 1316 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1317 { TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA",
ansond 0:137634ff4186 1318 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1319 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1320 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1321 0 },
ansond 0:137634ff4186 1322 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1323 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 1324 #endif /* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */
ansond 0:137634ff4186 1325
ansond 0:137634ff4186 1326 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
ansond 0:137634ff4186 1327 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 1328
ansond 0:137634ff4186 1329 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1330 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1331 { TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 1332 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1333 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1334 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1335 0 },
ansond 0:137634ff4186 1336 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1337
ansond 0:137634ff4186 1338 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1339 { TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 1340 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1341 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1342 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1343 0 },
ansond 0:137634ff4186 1344 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1345
ansond 0:137634ff4186 1346 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1347 { TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 1348 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1349 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1350 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1351 0 },
ansond 0:137634ff4186 1352
ansond 0:137634ff4186 1353 { TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 1354 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1355 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1356 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1357 0 },
ansond 0:137634ff4186 1358 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1359 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1360 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 1361
ansond 0:137634ff4186 1362 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 1363 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1364 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1365 { TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 1366 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1367 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1368 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1369 0 },
ansond 0:137634ff4186 1370 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1371
ansond 0:137634ff4186 1372 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1373 { TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 1374 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1375 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1376 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1377 0 },
ansond 0:137634ff4186 1378 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1379 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1380 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 1381
ansond 0:137634ff4186 1382 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1383 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1384 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1385 { TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 1386 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1387 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1388 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1389 0 },
ansond 0:137634ff4186 1390 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1391 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1392 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1393
ansond 0:137634ff4186 1394 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 1395 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1396 { TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA",
ansond 0:137634ff4186 1397 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1398 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1399 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1400 0 },
ansond 0:137634ff4186 1401 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1402 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 1403 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
ansond 0:137634ff4186 1404
ansond 0:137634ff4186 1405 #if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
ansond 0:137634ff4186 1406 #if defined(POLARSSL_AES_C)
ansond 0:137634ff4186 1407 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1408 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1409 { TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
ansond 0:137634ff4186 1410 POLARSSL_CIPHER_AES_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1411 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1412 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1413 0 },
ansond 0:137634ff4186 1414 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1415
ansond 0:137634ff4186 1416 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1417 { TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
ansond 0:137634ff4186 1418 POLARSSL_CIPHER_AES_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1419 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1420 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1421 0 },
ansond 0:137634ff4186 1422 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1423 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1424
ansond 0:137634ff4186 1425 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1426 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1427 { TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
ansond 0:137634ff4186 1428 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1429 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1430 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1431 0 },
ansond 0:137634ff4186 1432 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1433
ansond 0:137634ff4186 1434 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1435 { TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
ansond 0:137634ff4186 1436 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1437 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1438 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1439 0 },
ansond 0:137634ff4186 1440 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1441
ansond 0:137634ff4186 1442 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1443 { TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
ansond 0:137634ff4186 1444 POLARSSL_CIPHER_AES_128_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1445 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1446 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1447 0 },
ansond 0:137634ff4186 1448
ansond 0:137634ff4186 1449 { TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
ansond 0:137634ff4186 1450 POLARSSL_CIPHER_AES_256_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1451 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1452 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1453 0 },
ansond 0:137634ff4186 1454 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1455 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1456 #endif /* POLARSSL_AES_C */
ansond 0:137634ff4186 1457
ansond 0:137634ff4186 1458 #if defined(POLARSSL_CAMELLIA_C)
ansond 0:137634ff4186 1459 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1460 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1461 { TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
ansond 0:137634ff4186 1462 POLARSSL_CIPHER_CAMELLIA_128_CBC, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1463 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1464 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1465 0 },
ansond 0:137634ff4186 1466 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1467
ansond 0:137634ff4186 1468 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1469 { TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
ansond 0:137634ff4186 1470 POLARSSL_CIPHER_CAMELLIA_256_CBC, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1471 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1472 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1473 0 },
ansond 0:137634ff4186 1474 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1475 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1476
ansond 0:137634ff4186 1477 #if defined(POLARSSL_GCM_C)
ansond 0:137634ff4186 1478 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1479 { TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
ansond 0:137634ff4186 1480 POLARSSL_CIPHER_CAMELLIA_128_GCM, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1481 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1482 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1483 0 },
ansond 0:137634ff4186 1484 #endif /* POLARSSL_SHA256_C */
ansond 0:137634ff4186 1485
ansond 0:137634ff4186 1486 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1487 { TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
ansond 0:137634ff4186 1488 POLARSSL_CIPHER_CAMELLIA_256_GCM, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1489 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1490 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1491 0 },
ansond 0:137634ff4186 1492 #endif /* POLARSSL_SHA512_C */
ansond 0:137634ff4186 1493 #endif /* POLARSSL_GCM_C */
ansond 0:137634ff4186 1494 #endif /* POLARSSL_CAMELLIA_C */
ansond 0:137634ff4186 1495
ansond 0:137634ff4186 1496 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1497 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1498 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1499 { TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA",
ansond 0:137634ff4186 1500 POLARSSL_CIPHER_DES_EDE3_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1501 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1502 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1503 0 },
ansond 0:137634ff4186 1504 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1505 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1506 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1507
ansond 0:137634ff4186 1508 #if defined(POLARSSL_ARC4_C)
ansond 0:137634ff4186 1509 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1510 { TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA",
ansond 0:137634ff4186 1511 POLARSSL_CIPHER_ARC4_128, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1512 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1513 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1514 0 },
ansond 0:137634ff4186 1515 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1516 #endif /* POLARSSL_ARC4_C */
ansond 0:137634ff4186 1517 #endif /* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */
ansond 0:137634ff4186 1518
ansond 0:137634ff4186 1519 #if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
ansond 0:137634ff4186 1520 #if defined(POLARSSL_CIPHER_NULL_CIPHER)
ansond 0:137634ff4186 1521 #if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
ansond 0:137634ff4186 1522 #if defined(POLARSSL_MD5_C)
ansond 0:137634ff4186 1523 { TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
ansond 0:137634ff4186 1524 POLARSSL_CIPHER_NULL, POLARSSL_MD_MD5, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 1525 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1526 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1527 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1528 #endif
ansond 0:137634ff4186 1529
ansond 0:137634ff4186 1530 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1531 { TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
ansond 0:137634ff4186 1532 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 1533 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1534 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1535 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1536 #endif
ansond 0:137634ff4186 1537
ansond 0:137634ff4186 1538 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1539 { TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
ansond 0:137634ff4186 1540 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 1541 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1542 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1543 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1544 #endif
ansond 0:137634ff4186 1545 #endif /* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
ansond 0:137634ff4186 1546
ansond 0:137634ff4186 1547 #if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
ansond 0:137634ff4186 1548 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1549 { TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
ansond 0:137634ff4186 1550 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1551 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1552 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1553 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1554 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1555
ansond 0:137634ff4186 1556 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1557 { TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
ansond 0:137634ff4186 1558 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1559 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1560 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1561 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1562 #endif
ansond 0:137634ff4186 1563
ansond 0:137634ff4186 1564 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1565 { TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
ansond 0:137634ff4186 1566 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_PSK,
ansond 0:137634ff4186 1567 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1568 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1569 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1570 #endif
ansond 0:137634ff4186 1571 #endif /* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */
ansond 0:137634ff4186 1572
ansond 0:137634ff4186 1573 #if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
ansond 0:137634ff4186 1574 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1575 { TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
ansond 0:137634ff4186 1576 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1577 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1578 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1579 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1580 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1581
ansond 0:137634ff4186 1582 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1583 { TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
ansond 0:137634ff4186 1584 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1585 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1586 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1587 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1588 #endif
ansond 0:137634ff4186 1589
ansond 0:137634ff4186 1590 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1591 { TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
ansond 0:137634ff4186 1592 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_DHE_PSK,
ansond 0:137634ff4186 1593 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1594 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1595 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1596 #endif
ansond 0:137634ff4186 1597 #endif /* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */
ansond 0:137634ff4186 1598
ansond 0:137634ff4186 1599 #if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
ansond 0:137634ff4186 1600 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1601 { TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
ansond 0:137634ff4186 1602 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1603 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1604 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1605 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1606 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1607
ansond 0:137634ff4186 1608 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1609 { TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
ansond 0:137634ff4186 1610 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1611 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1612 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1613 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1614 #endif
ansond 0:137634ff4186 1615
ansond 0:137634ff4186 1616 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1617 { TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
ansond 0:137634ff4186 1618 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_ECDHE_PSK,
ansond 0:137634ff4186 1619 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1620 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1621 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1622 #endif
ansond 0:137634ff4186 1623 #endif /* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
ansond 0:137634ff4186 1624
ansond 0:137634ff4186 1625 #if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
ansond 0:137634ff4186 1626 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1627 { TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
ansond 0:137634ff4186 1628 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1629 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1630 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1631 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1632 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1633
ansond 0:137634ff4186 1634 #if defined(POLARSSL_SHA256_C)
ansond 0:137634ff4186 1635 { TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
ansond 0:137634ff4186 1636 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA256, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1637 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1638 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1639 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1640 #endif
ansond 0:137634ff4186 1641
ansond 0:137634ff4186 1642 #if defined(POLARSSL_SHA512_C)
ansond 0:137634ff4186 1643 { TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
ansond 0:137634ff4186 1644 POLARSSL_CIPHER_NULL, POLARSSL_MD_SHA384, POLARSSL_KEY_EXCHANGE_RSA_PSK,
ansond 0:137634ff4186 1645 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1,
ansond 0:137634ff4186 1646 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1647 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1648 #endif
ansond 0:137634ff4186 1649 #endif /* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */
ansond 0:137634ff4186 1650 #endif /* POLARSSL_CIPHER_NULL_CIPHER */
ansond 0:137634ff4186 1651
ansond 0:137634ff4186 1652 #if defined(POLARSSL_DES_C)
ansond 0:137634ff4186 1653 #if defined(POLARSSL_CIPHER_MODE_CBC)
ansond 0:137634ff4186 1654 #if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
ansond 0:137634ff4186 1655 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1656 { TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA",
ansond 0:137634ff4186 1657 POLARSSL_CIPHER_DES_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_DHE_RSA,
ansond 0:137634ff4186 1658 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1659 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1660 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1661 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1662 #endif /* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */
ansond 0:137634ff4186 1663
ansond 0:137634ff4186 1664 #if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
ansond 0:137634ff4186 1665 #if defined(POLARSSL_SHA1_C)
ansond 0:137634ff4186 1666 { TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA",
ansond 0:137634ff4186 1667 POLARSSL_CIPHER_DES_CBC, POLARSSL_MD_SHA1, POLARSSL_KEY_EXCHANGE_RSA,
ansond 0:137634ff4186 1668 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_0,
ansond 0:137634ff4186 1669 SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_3,
ansond 0:137634ff4186 1670 POLARSSL_CIPHERSUITE_WEAK },
ansond 0:137634ff4186 1671 #endif /* POLARSSL_SHA1_C */
ansond 0:137634ff4186 1672 #endif /* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
ansond 0:137634ff4186 1673 #endif /* POLARSSL_CIPHER_MODE_CBC */
ansond 0:137634ff4186 1674 #endif /* POLARSSL_DES_C */
ansond 0:137634ff4186 1675 #endif /* POLARSSL_ENABLE_WEAK_CIPHERSUITES */
ansond 0:137634ff4186 1676
ansond 0:137634ff4186 1677 { 0, "",
ansond 0:137634ff4186 1678 POLARSSL_CIPHER_NONE, POLARSSL_MD_NONE, POLARSSL_KEY_EXCHANGE_NONE,
ansond 0:137634ff4186 1679 0, 0, 0, 0, 0 }
ansond 0:137634ff4186 1680 };
ansond 0:137634ff4186 1681
ansond 0:137634ff4186 1682 #if defined(SSL_CIPHERSUITES)
ansond 0:137634ff4186 1683 const int *ssl_list_ciphersuites( void )
ansond 0:137634ff4186 1684 {
ansond 0:137634ff4186 1685 return( ciphersuite_preference );
ansond 0:137634ff4186 1686 }
ansond 0:137634ff4186 1687 #else
ansond 0:137634ff4186 1688 #define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \
ansond 0:137634ff4186 1689 sizeof( ciphersuite_definitions[0] )
ansond 0:137634ff4186 1690 static int supported_ciphersuites[MAX_CIPHERSUITES];
ansond 0:137634ff4186 1691 static int supported_init = 0;
ansond 0:137634ff4186 1692
ansond 0:137634ff4186 1693 const int *ssl_list_ciphersuites( void )
ansond 0:137634ff4186 1694 {
ansond 0:137634ff4186 1695 /*
ansond 0:137634ff4186 1696 * On initial call filter out all ciphersuites not supported by current
ansond 0:137634ff4186 1697 * build based on presence in the ciphersuite_definitions.
ansond 0:137634ff4186 1698 */
ansond 0:137634ff4186 1699 if( supported_init == 0 )
ansond 0:137634ff4186 1700 {
ansond 0:137634ff4186 1701 const int *p;
ansond 0:137634ff4186 1702 int *q;
ansond 0:137634ff4186 1703
ansond 0:137634ff4186 1704 for( p = ciphersuite_preference, q = supported_ciphersuites;
ansond 0:137634ff4186 1705 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
ansond 0:137634ff4186 1706 p++ )
ansond 0:137634ff4186 1707 {
ansond 0:137634ff4186 1708 #if defined(POLARSSL_REMOVE_ARC4_CIPHERSUITES)
ansond 0:137634ff4186 1709 const ssl_ciphersuite_t *cs_info;
ansond 0:137634ff4186 1710 if( ( cs_info = ssl_ciphersuite_from_id( *p ) ) != NULL &&
ansond 0:137634ff4186 1711 cs_info->cipher != POLARSSL_CIPHER_ARC4_128 )
ansond 0:137634ff4186 1712 #else
ansond 0:137634ff4186 1713 if( ssl_ciphersuite_from_id( *p ) != NULL )
ansond 0:137634ff4186 1714 #endif
ansond 0:137634ff4186 1715 *(q++) = *p;
ansond 0:137634ff4186 1716 }
ansond 0:137634ff4186 1717 *q = 0;
ansond 0:137634ff4186 1718
ansond 0:137634ff4186 1719 supported_init = 1;
ansond 0:137634ff4186 1720 }
ansond 0:137634ff4186 1721
ansond 0:137634ff4186 1722 return( supported_ciphersuites );
ansond 0:137634ff4186 1723 };
ansond 0:137634ff4186 1724 #endif /* SSL_CIPHERSUITES */
ansond 0:137634ff4186 1725
ansond 0:137634ff4186 1726 const ssl_ciphersuite_t *ssl_ciphersuite_from_string(
ansond 0:137634ff4186 1727 const char *ciphersuite_name )
ansond 0:137634ff4186 1728 {
ansond 0:137634ff4186 1729 const ssl_ciphersuite_t *cur = ciphersuite_definitions;
ansond 0:137634ff4186 1730
ansond 0:137634ff4186 1731 if( NULL == ciphersuite_name )
ansond 0:137634ff4186 1732 return( NULL );
ansond 0:137634ff4186 1733
ansond 0:137634ff4186 1734 while( cur->id != 0 )
ansond 0:137634ff4186 1735 {
ansond 0:137634ff4186 1736 if( 0 == strcasecmp( cur->name, ciphersuite_name ) )
ansond 0:137634ff4186 1737 return( cur );
ansond 0:137634ff4186 1738
ansond 0:137634ff4186 1739 cur++;
ansond 0:137634ff4186 1740 }
ansond 0:137634ff4186 1741
ansond 0:137634ff4186 1742 return( NULL );
ansond 0:137634ff4186 1743 }
ansond 0:137634ff4186 1744
ansond 0:137634ff4186 1745 const ssl_ciphersuite_t *ssl_ciphersuite_from_id( int ciphersuite )
ansond 0:137634ff4186 1746 {
ansond 0:137634ff4186 1747 const ssl_ciphersuite_t *cur = ciphersuite_definitions;
ansond 0:137634ff4186 1748
ansond 0:137634ff4186 1749 while( cur->id != 0 )
ansond 0:137634ff4186 1750 {
ansond 0:137634ff4186 1751 if( cur->id == ciphersuite )
ansond 0:137634ff4186 1752 return( cur );
ansond 0:137634ff4186 1753
ansond 0:137634ff4186 1754 cur++;
ansond 0:137634ff4186 1755 }
ansond 0:137634ff4186 1756
ansond 0:137634ff4186 1757 return( NULL );
ansond 0:137634ff4186 1758 }
ansond 0:137634ff4186 1759
ansond 0:137634ff4186 1760 const char *ssl_get_ciphersuite_name( const int ciphersuite_id )
ansond 0:137634ff4186 1761 {
ansond 0:137634ff4186 1762 const ssl_ciphersuite_t *cur;
ansond 0:137634ff4186 1763
ansond 0:137634ff4186 1764 cur = ssl_ciphersuite_from_id( ciphersuite_id );
ansond 0:137634ff4186 1765
ansond 0:137634ff4186 1766 if( cur == NULL )
ansond 0:137634ff4186 1767 return( "unknown" );
ansond 0:137634ff4186 1768
ansond 0:137634ff4186 1769 return( cur->name );
ansond 0:137634ff4186 1770 }
ansond 0:137634ff4186 1771
ansond 0:137634ff4186 1772 int ssl_get_ciphersuite_id( const char *ciphersuite_name )
ansond 0:137634ff4186 1773 {
ansond 0:137634ff4186 1774 const ssl_ciphersuite_t *cur;
ansond 0:137634ff4186 1775
ansond 0:137634ff4186 1776 cur = ssl_ciphersuite_from_string( ciphersuite_name );
ansond 0:137634ff4186 1777
ansond 0:137634ff4186 1778 if( cur == NULL )
ansond 0:137634ff4186 1779 return( 0 );
ansond 0:137634ff4186 1780
ansond 0:137634ff4186 1781 return( cur->id );
ansond 0:137634ff4186 1782 }
ansond 0:137634ff4186 1783
ansond 0:137634ff4186 1784 #if defined(POLARSSL_PK_C)
ansond 0:137634ff4186 1785 pk_type_t ssl_get_ciphersuite_sig_pk_alg( const ssl_ciphersuite_t *info )
ansond 0:137634ff4186 1786 {
ansond 0:137634ff4186 1787 switch( info->key_exchange )
ansond 0:137634ff4186 1788 {
ansond 0:137634ff4186 1789 case POLARSSL_KEY_EXCHANGE_RSA:
ansond 0:137634ff4186 1790 case POLARSSL_KEY_EXCHANGE_DHE_RSA:
ansond 0:137634ff4186 1791 case POLARSSL_KEY_EXCHANGE_ECDHE_RSA:
ansond 0:137634ff4186 1792 case POLARSSL_KEY_EXCHANGE_RSA_PSK:
ansond 0:137634ff4186 1793 return( POLARSSL_PK_RSA );
ansond 0:137634ff4186 1794
ansond 0:137634ff4186 1795 case POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA:
ansond 0:137634ff4186 1796 return( POLARSSL_PK_ECDSA );
ansond 0:137634ff4186 1797
ansond 0:137634ff4186 1798 case POLARSSL_KEY_EXCHANGE_ECDH_RSA:
ansond 0:137634ff4186 1799 case POLARSSL_KEY_EXCHANGE_ECDH_ECDSA:
ansond 0:137634ff4186 1800 return( POLARSSL_PK_ECKEY );
ansond 0:137634ff4186 1801
ansond 0:137634ff4186 1802 default:
ansond 0:137634ff4186 1803 return( POLARSSL_PK_NONE );
ansond 0:137634ff4186 1804 }
ansond 0:137634ff4186 1805 }
ansond 0:137634ff4186 1806 #endif /* POLARSSL_PK_C */
ansond 0:137634ff4186 1807
ansond 0:137634ff4186 1808 #if defined(POLARSSL_ECDH_C) || defined(POLARSSL_ECDSA_C)
ansond 0:137634ff4186 1809 int ssl_ciphersuite_uses_ec( const ssl_ciphersuite_t *info )
ansond 0:137634ff4186 1810 {
ansond 0:137634ff4186 1811 switch( info->key_exchange )
ansond 0:137634ff4186 1812 {
ansond 0:137634ff4186 1813 case POLARSSL_KEY_EXCHANGE_ECDHE_RSA:
ansond 0:137634ff4186 1814 case POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA:
ansond 0:137634ff4186 1815 case POLARSSL_KEY_EXCHANGE_ECDHE_PSK:
ansond 0:137634ff4186 1816 case POLARSSL_KEY_EXCHANGE_ECDH_RSA:
ansond 0:137634ff4186 1817 case POLARSSL_KEY_EXCHANGE_ECDH_ECDSA:
ansond 0:137634ff4186 1818 return( 1 );
ansond 0:137634ff4186 1819
ansond 0:137634ff4186 1820 default:
ansond 0:137634ff4186 1821 return( 0 );
ansond 0:137634ff4186 1822 }
ansond 0:137634ff4186 1823 }
ansond 0:137634ff4186 1824 #endif /* POLARSSL_ECDH_C || POLARSSL_ECDSA_C */
ansond 0:137634ff4186 1825
ansond 0:137634ff4186 1826 #if defined(POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED)
ansond 0:137634ff4186 1827 int ssl_ciphersuite_uses_psk( const ssl_ciphersuite_t *info )
ansond 0:137634ff4186 1828 {
ansond 0:137634ff4186 1829 switch( info->key_exchange )
ansond 0:137634ff4186 1830 {
ansond 0:137634ff4186 1831 case POLARSSL_KEY_EXCHANGE_PSK:
ansond 0:137634ff4186 1832 case POLARSSL_KEY_EXCHANGE_RSA_PSK:
ansond 0:137634ff4186 1833 case POLARSSL_KEY_EXCHANGE_DHE_PSK:
ansond 0:137634ff4186 1834 case POLARSSL_KEY_EXCHANGE_ECDHE_PSK:
ansond 0:137634ff4186 1835 return( 1 );
ansond 0:137634ff4186 1836
ansond 0:137634ff4186 1837 default:
ansond 0:137634ff4186 1838 return( 0 );
ansond 0:137634ff4186 1839 }
ansond 0:137634ff4186 1840 }
ansond 0:137634ff4186 1841 #endif /* POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED */
ansond 0:137634ff4186 1842
ansond 0:137634ff4186 1843 #endif /* POLARSSL_SSL_TLS_C */
ansond 0:137634ff4186 1844