mbed-os

Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

Committer:
be_bryan
Date:
Mon Dec 11 17:54:04 2017 +0000
Revision:
0:b74591d5ab33
motor ++

Who changed what in which revision?

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