Example program to test AES-GCM functionality. Used for a workshop

Dependencies:   mbed

Committer:
HannesTschofenig
Date:
Thu Sep 27 06:34:22 2018 +0000
Revision:
0:796d0f61a05b
Example AES-GCM test program

Who changed what in which revision?

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