mbed os with nrf51 internal bandgap enabled to read battery level

Dependents:   BLE_file_test BLE_Blink ExternalEncoder

Committer:
elessair
Date:
Sun Oct 23 15:10:02 2016 +0000
Revision:
0:f269e3021894
Initial commit

Who changed what in which revision?

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