Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MAX44000 PWM_Tone_Library nexpaq_mdk
Fork of LED_Demo by
ssl_ciphersuites.c
00001 /** 00002 * \file ssl_ciphersuites.c 00003 * 00004 * \brief SSL ciphersuites for mbed TLS 00005 * 00006 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved 00007 * SPDX-License-Identifier: Apache-2.0 00008 * 00009 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00010 * not use this file except in compliance with the License. 00011 * You may obtain a copy of the License at 00012 * 00013 * http://www.apache.org/licenses/LICENSE-2.0 00014 * 00015 * Unless required by applicable law or agreed to in writing, software 00016 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00017 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00018 * See the License for the specific language governing permissions and 00019 * limitations under the License. 00020 * 00021 * This file is part of mbed TLS (https://tls.mbed.org) 00022 */ 00023 00024 #if !defined(MBEDTLS_CONFIG_FILE) 00025 #include "mbedtls/config.h" 00026 #else 00027 #include MBEDTLS_CONFIG_FILE 00028 #endif 00029 00030 #if defined(MBEDTLS_SSL_TLS_C) 00031 00032 #if defined(MBEDTLS_PLATFORM_C) 00033 #include "mbedtls/platform.h" 00034 #else 00035 #include <stdlib.h> 00036 #define mbedtls_time_t time_t 00037 #endif 00038 00039 #include "mbedtls/ssl_ciphersuites.h" 00040 #include "mbedtls/ssl.h" 00041 00042 #include <string.h> 00043 00044 /* 00045 * Ordered from most preferred to least preferred in terms of security. 00046 * 00047 * Current rule (except rc4, weak and null which come last): 00048 * 1. By key exchange: 00049 * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK 00050 * 2. By key length and cipher: 00051 * AES-256 > Camellia-256 > AES-128 > Camellia-128 > 3DES 00052 * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8 00053 * 4. By hash function used when relevant 00054 * 5. By key exchange/auth again: EC > non-EC 00055 */ 00056 static const int ciphersuite_preference[] = 00057 { 00058 #if defined(MBEDTLS_SSL_CIPHERSUITES) 00059 MBEDTLS_SSL_CIPHERSUITES, 00060 #else 00061 /* All AES-256 ephemeral suites */ 00062 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 00063 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 00064 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 00065 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, 00066 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, 00067 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 00068 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, 00069 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, 00070 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, 00071 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 00072 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 00073 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, 00074 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, 00075 00076 /* All CAMELLIA-256 ephemeral suites */ 00077 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 00078 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00079 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00080 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 00081 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, 00082 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, 00083 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, 00084 00085 /* All AES-128 ephemeral suites */ 00086 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 00087 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 00088 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 00089 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, 00090 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, 00091 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 00092 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 00093 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, 00094 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, 00095 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 00096 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 00097 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, 00098 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, 00099 00100 /* All CAMELLIA-128 ephemeral suites */ 00101 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 00102 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00103 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00104 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 00105 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00106 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00107 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, 00108 00109 /* All remaining >= 128-bit ephemeral suites */ 00110 MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, 00111 MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, 00112 MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 00113 00114 /* The PSK ephemeral suites */ 00115 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, 00116 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, 00117 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, 00118 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, 00119 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, 00120 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, 00121 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00122 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00123 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00124 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, 00125 00126 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, 00127 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, 00128 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, 00129 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, 00130 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, 00131 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, 00132 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00133 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00134 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00135 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, 00136 00137 MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, 00138 MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, 00139 00140 /* The ECJPAKE suite */ 00141 MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, 00142 00143 /* All AES-256 suites */ 00144 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, 00145 MBEDTLS_TLS_RSA_WITH_AES_256_CCM, 00146 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, 00147 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, 00148 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, 00149 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 00150 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, 00151 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 00152 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, 00153 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 00154 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, 00155 00156 /* All CAMELLIA-256 suites */ 00157 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00158 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, 00159 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, 00160 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00161 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, 00162 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 00163 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 00164 00165 /* All AES-128 suites */ 00166 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, 00167 MBEDTLS_TLS_RSA_WITH_AES_128_CCM, 00168 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, 00169 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, 00170 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, 00171 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 00172 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, 00173 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 00174 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, 00175 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 00176 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, 00177 00178 /* All CAMELLIA-128 suites */ 00179 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00180 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00181 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, 00182 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00183 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00184 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 00185 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 00186 00187 /* All remaining >= 128-bit suites */ 00188 MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, 00189 MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, 00190 MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, 00191 00192 /* The RSA PSK suites */ 00193 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, 00194 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, 00195 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, 00196 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00197 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00198 00199 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, 00200 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, 00201 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, 00202 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00203 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00204 00205 MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, 00206 00207 /* The PSK suites */ 00208 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, 00209 MBEDTLS_TLS_PSK_WITH_AES_256_CCM, 00210 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, 00211 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, 00212 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00213 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00214 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, 00215 00216 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, 00217 MBEDTLS_TLS_PSK_WITH_AES_128_CCM, 00218 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, 00219 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, 00220 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00221 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00222 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, 00223 00224 MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, 00225 00226 /* RC4 suites */ 00227 MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, 00228 MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, 00229 MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, 00230 MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, 00231 MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, 00232 MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, 00233 MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, 00234 MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, 00235 MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, 00236 MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, 00237 00238 /* Weak suites */ 00239 MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, 00240 MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, 00241 00242 /* NULL suites */ 00243 MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, 00244 MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, 00245 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, 00246 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, 00247 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, 00248 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, 00249 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, 00250 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, 00251 00252 MBEDTLS_TLS_RSA_WITH_NULL_SHA256, 00253 MBEDTLS_TLS_RSA_WITH_NULL_SHA, 00254 MBEDTLS_TLS_RSA_WITH_NULL_MD5, 00255 MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, 00256 MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, 00257 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, 00258 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, 00259 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, 00260 MBEDTLS_TLS_PSK_WITH_NULL_SHA384, 00261 MBEDTLS_TLS_PSK_WITH_NULL_SHA256, 00262 MBEDTLS_TLS_PSK_WITH_NULL_SHA, 00263 00264 #endif /* MBEDTLS_SSL_CIPHERSUITES */ 00265 0 00266 }; 00267 00268 static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 00269 { 00270 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 00271 #if defined(MBEDTLS_AES_C) 00272 #if defined(MBEDTLS_SHA1_C) 00273 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00274 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", 00275 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00276 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00277 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00278 0 }, 00279 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA", 00280 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00281 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00282 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00283 0 }, 00284 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00285 #endif /* MBEDTLS_SHA1_C */ 00286 #if defined(MBEDTLS_SHA256_C) 00287 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00288 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", 00289 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00290 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00291 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00292 0 }, 00293 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00294 #if defined(MBEDTLS_GCM_C) 00295 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256", 00296 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00297 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00298 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00299 0 }, 00300 #endif /* MBEDTLS_GCM_C */ 00301 #endif /* MBEDTLS_SHA256_C */ 00302 #if defined(MBEDTLS_SHA512_C) 00303 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00304 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", 00305 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00306 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00307 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00308 0 }, 00309 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00310 #if defined(MBEDTLS_GCM_C) 00311 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384", 00312 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00313 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00314 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00315 0 }, 00316 #endif /* MBEDTLS_GCM_C */ 00317 #endif /* MBEDTLS_SHA512_C */ 00318 #if defined(MBEDTLS_CCM_C) 00319 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", 00320 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00321 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00322 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00323 0 }, 00324 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8", 00325 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00326 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00327 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00328 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00329 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM", 00330 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00331 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00332 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00333 0 }, 00334 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8", 00335 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00337 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00338 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00339 #endif /* MBEDTLS_CCM_C */ 00340 #endif /* MBEDTLS_AES_C */ 00341 00342 #if defined(MBEDTLS_CAMELLIA_C) 00343 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00344 #if defined(MBEDTLS_SHA256_C) 00345 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 00346 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00347 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00348 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00349 0 }, 00350 #endif /* MBEDTLS_SHA256_C */ 00351 #if defined(MBEDTLS_SHA512_C) 00352 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 00353 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00354 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00355 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00356 0 }, 00357 #endif /* MBEDTLS_SHA512_C */ 00358 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00359 00360 #if defined(MBEDTLS_GCM_C) 00361 #if defined(MBEDTLS_SHA256_C) 00362 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 00363 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00364 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00365 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00366 0 }, 00367 #endif /* MBEDTLS_SHA256_C */ 00368 #if defined(MBEDTLS_SHA512_C) 00369 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 00370 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00371 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00372 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00373 0 }, 00374 #endif /* MBEDTLS_SHA512_C */ 00375 #endif /* MBEDTLS_GCM_C */ 00376 #endif /* MBEDTLS_CAMELLIA_C */ 00377 00378 #if defined(MBEDTLS_DES_C) 00379 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00380 #if defined(MBEDTLS_SHA1_C) 00381 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA", 00382 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00383 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00384 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00385 0 }, 00386 #endif /* MBEDTLS_SHA1_C */ 00387 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00388 #endif /* MBEDTLS_DES_C */ 00389 00390 #if defined(MBEDTLS_ARC4_C) 00391 #if defined(MBEDTLS_SHA1_C) 00392 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA", 00393 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00394 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00395 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00396 MBEDTLS_CIPHERSUITE_NODTLS }, 00397 #endif /* MBEDTLS_SHA1_C */ 00398 #endif /* MBEDTLS_ARC4_C */ 00399 00400 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00401 #if defined(MBEDTLS_SHA1_C) 00402 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA", 00403 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00404 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00405 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00406 MBEDTLS_CIPHERSUITE_WEAK }, 00407 #endif /* MBEDTLS_SHA1_C */ 00408 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00409 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 00410 00411 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 00412 #if defined(MBEDTLS_AES_C) 00413 #if defined(MBEDTLS_SHA1_C) 00414 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00415 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", 00416 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00417 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00418 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00419 0 }, 00420 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA", 00421 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00422 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00423 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00424 0 }, 00425 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00426 #endif /* MBEDTLS_SHA1_C */ 00427 #if defined(MBEDTLS_SHA256_C) 00428 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00429 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", 00430 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00431 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00432 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00433 0 }, 00434 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00435 #if defined(MBEDTLS_GCM_C) 00436 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256", 00437 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00438 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00439 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00440 0 }, 00441 #endif /* MBEDTLS_GCM_C */ 00442 #endif /* MBEDTLS_SHA256_C */ 00443 #if defined(MBEDTLS_SHA512_C) 00444 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00445 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", 00446 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00447 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00448 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00449 0 }, 00450 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00451 #if defined(MBEDTLS_GCM_C) 00452 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384", 00453 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00454 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00455 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00456 0 }, 00457 #endif /* MBEDTLS_GCM_C */ 00458 #endif /* MBEDTLS_SHA512_C */ 00459 #endif /* MBEDTLS_AES_C */ 00460 00461 #if defined(MBEDTLS_CAMELLIA_C) 00462 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00463 #if defined(MBEDTLS_SHA256_C) 00464 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00465 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00466 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00468 0 }, 00469 #endif /* MBEDTLS_SHA256_C */ 00470 #if defined(MBEDTLS_SHA512_C) 00471 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384", 00472 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00473 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00474 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00475 0 }, 00476 #endif /* MBEDTLS_SHA512_C */ 00477 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00478 00479 #if defined(MBEDTLS_GCM_C) 00480 #if defined(MBEDTLS_SHA256_C) 00481 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00482 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00483 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00484 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00485 0 }, 00486 #endif /* MBEDTLS_SHA256_C */ 00487 #if defined(MBEDTLS_SHA512_C) 00488 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00489 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00490 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00491 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00492 0 }, 00493 #endif /* MBEDTLS_SHA512_C */ 00494 #endif /* MBEDTLS_GCM_C */ 00495 #endif /* MBEDTLS_CAMELLIA_C */ 00496 00497 #if defined(MBEDTLS_DES_C) 00498 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00499 #if defined(MBEDTLS_SHA1_C) 00500 { MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA", 00501 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00502 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00503 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00504 0 }, 00505 #endif /* MBEDTLS_SHA1_C */ 00506 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00507 #endif /* MBEDTLS_DES_C */ 00508 00509 #if defined(MBEDTLS_ARC4_C) 00510 #if defined(MBEDTLS_SHA1_C) 00511 { MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA", 00512 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00513 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00514 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00515 MBEDTLS_CIPHERSUITE_NODTLS }, 00516 #endif /* MBEDTLS_SHA1_C */ 00517 #endif /* MBEDTLS_ARC4_C */ 00518 00519 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00520 #if defined(MBEDTLS_SHA1_C) 00521 { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA", 00522 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00523 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00524 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00525 MBEDTLS_CIPHERSUITE_WEAK }, 00526 #endif /* MBEDTLS_SHA1_C */ 00527 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00528 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 00529 00530 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 00531 #if defined(MBEDTLS_AES_C) 00532 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 00533 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", 00534 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00535 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00536 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00537 0 }, 00538 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 00539 00540 #if defined(MBEDTLS_SHA256_C) 00541 #if defined(MBEDTLS_GCM_C) 00542 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", 00543 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00544 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00545 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00546 0 }, 00547 #endif /* MBEDTLS_GCM_C */ 00548 00549 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00550 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256", 00551 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00552 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00553 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00554 0 }, 00555 00556 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256", 00557 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00558 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00559 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00560 0 }, 00561 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00562 #endif /* MBEDTLS_SHA256_C */ 00563 00564 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00565 #if defined(MBEDTLS_SHA1_C) 00566 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", 00567 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00568 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00569 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00570 0 }, 00571 00572 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA", 00573 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00574 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00575 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00576 0 }, 00577 #endif /* MBEDTLS_SHA1_C */ 00578 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00579 #if defined(MBEDTLS_CCM_C) 00580 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM", 00581 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00582 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00583 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00584 0 }, 00585 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8", 00586 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00587 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00588 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00589 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00590 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM", 00591 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00592 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00593 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00594 0 }, 00595 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8", 00596 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00597 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00598 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00599 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00600 #endif /* MBEDTLS_CCM_C */ 00601 #endif /* MBEDTLS_AES_C */ 00602 00603 #if defined(MBEDTLS_CAMELLIA_C) 00604 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00605 #if defined(MBEDTLS_SHA256_C) 00606 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00607 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00608 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00609 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00610 0 }, 00611 00612 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256", 00613 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00614 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00615 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00616 0 }, 00617 #endif /* MBEDTLS_SHA256_C */ 00618 00619 #if defined(MBEDTLS_SHA1_C) 00620 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", 00621 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00622 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00623 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00624 0 }, 00625 00626 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA", 00627 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00628 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00629 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00630 0 }, 00631 #endif /* MBEDTLS_SHA1_C */ 00632 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00633 #if defined(MBEDTLS_GCM_C) 00634 #if defined(MBEDTLS_SHA256_C) 00635 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00636 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00637 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00638 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00639 0 }, 00640 #endif /* MBEDTLS_SHA256_C */ 00641 00642 #if defined(MBEDTLS_SHA512_C) 00643 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00644 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00645 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00646 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00647 0 }, 00648 #endif /* MBEDTLS_SHA512_C */ 00649 #endif /* MBEDTLS_GCM_C */ 00650 #endif /* MBEDTLS_CAMELLIA_C */ 00651 00652 #if defined(MBEDTLS_DES_C) 00653 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00654 #if defined(MBEDTLS_SHA1_C) 00655 { MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA", 00656 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00657 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00658 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00659 0 }, 00660 #endif /* MBEDTLS_SHA1_C */ 00661 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00662 #endif /* MBEDTLS_DES_C */ 00663 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 00664 00665 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 00666 #if defined(MBEDTLS_AES_C) 00667 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 00668 { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384", 00669 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 00670 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00671 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00672 0 }, 00673 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 00674 00675 #if defined(MBEDTLS_SHA256_C) 00676 #if defined(MBEDTLS_GCM_C) 00677 { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256", 00678 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00679 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00680 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00681 0 }, 00682 #endif /* MBEDTLS_GCM_C */ 00683 00684 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00685 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256", 00686 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00687 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00688 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00689 0 }, 00690 00691 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256", 00692 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00693 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00694 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00695 0 }, 00696 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00697 #endif /* MBEDTLS_SHA256_C */ 00698 00699 #if defined(MBEDTLS_SHA1_C) 00700 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00701 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA", 00702 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00703 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00704 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00705 0 }, 00706 00707 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA", 00708 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00709 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00710 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00711 0 }, 00712 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00713 #endif /* MBEDTLS_SHA1_C */ 00714 #if defined(MBEDTLS_CCM_C) 00715 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM", 00716 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00717 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00718 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00719 0 }, 00720 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8", 00721 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00722 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00723 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00724 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00725 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM", 00726 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00727 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00728 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00729 0 }, 00730 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8", 00731 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00732 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00733 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00734 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00735 #endif /* MBEDTLS_CCM_C */ 00736 #endif /* MBEDTLS_AES_C */ 00737 00738 #if defined(MBEDTLS_CAMELLIA_C) 00739 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00740 #if defined(MBEDTLS_SHA256_C) 00741 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00742 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00743 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00744 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00745 0 }, 00746 00747 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256", 00748 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00749 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00750 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00751 0 }, 00752 #endif /* MBEDTLS_SHA256_C */ 00753 00754 #if defined(MBEDTLS_SHA1_C) 00755 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", 00756 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00757 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00758 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00759 0 }, 00760 00761 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA", 00762 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00763 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00764 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00765 0 }, 00766 #endif /* MBEDTLS_SHA1_C */ 00767 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00768 00769 #if defined(MBEDTLS_GCM_C) 00770 #if defined(MBEDTLS_SHA256_C) 00771 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00772 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00773 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00774 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00775 0 }, 00776 #endif /* MBEDTLS_SHA256_C */ 00777 00778 #if defined(MBEDTLS_SHA1_C) 00779 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00780 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 00781 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00782 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00783 0 }, 00784 #endif /* MBEDTLS_SHA1_C */ 00785 #endif /* MBEDTLS_GCM_C */ 00786 #endif /* MBEDTLS_CAMELLIA_C */ 00787 00788 #if defined(MBEDTLS_DES_C) 00789 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00790 #if defined(MBEDTLS_SHA1_C) 00791 { MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA", 00792 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00793 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00794 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00795 0 }, 00796 #endif /* MBEDTLS_SHA1_C */ 00797 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00798 #endif /* MBEDTLS_DES_C */ 00799 00800 #if defined(MBEDTLS_ARC4_C) 00801 #if defined(MBEDTLS_MD5_C) 00802 { MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5", 00803 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 00804 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00805 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00806 MBEDTLS_CIPHERSUITE_NODTLS }, 00807 #endif 00808 00809 #if defined(MBEDTLS_SHA1_C) 00810 { MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA", 00811 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00812 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00813 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00814 MBEDTLS_CIPHERSUITE_NODTLS }, 00815 #endif 00816 #endif /* MBEDTLS_ARC4_C */ 00817 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 00818 00819 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 00820 #if defined(MBEDTLS_AES_C) 00821 #if defined(MBEDTLS_SHA1_C) 00822 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00823 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", 00824 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00825 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00826 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00827 0 }, 00828 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA", 00829 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00830 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00831 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00832 0 }, 00833 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00834 #endif /* MBEDTLS_SHA1_C */ 00835 #if defined(MBEDTLS_SHA256_C) 00836 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00837 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", 00838 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00839 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00840 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00841 0 }, 00842 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00843 #if defined(MBEDTLS_GCM_C) 00844 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256", 00845 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00846 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00847 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00848 0 }, 00849 #endif /* MBEDTLS_GCM_C */ 00850 #endif /* MBEDTLS_SHA256_C */ 00851 #if defined(MBEDTLS_SHA512_C) 00852 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00853 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", 00854 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00855 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00856 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00857 0 }, 00858 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00859 #if defined(MBEDTLS_GCM_C) 00860 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384", 00861 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00862 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00863 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00864 0 }, 00865 #endif /* MBEDTLS_GCM_C */ 00866 #endif /* MBEDTLS_SHA512_C */ 00867 #endif /* MBEDTLS_AES_C */ 00868 00869 #if defined(MBEDTLS_CAMELLIA_C) 00870 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00871 #if defined(MBEDTLS_SHA256_C) 00872 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00873 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00874 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00875 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00876 0 }, 00877 #endif /* MBEDTLS_SHA256_C */ 00878 #if defined(MBEDTLS_SHA512_C) 00879 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384", 00880 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00881 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00882 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00883 0 }, 00884 #endif /* MBEDTLS_SHA512_C */ 00885 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00886 00887 #if defined(MBEDTLS_GCM_C) 00888 #if defined(MBEDTLS_SHA256_C) 00889 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00890 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00891 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00892 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00893 0 }, 00894 #endif /* MBEDTLS_SHA256_C */ 00895 #if defined(MBEDTLS_SHA512_C) 00896 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00897 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00898 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00899 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00900 0 }, 00901 #endif /* MBEDTLS_SHA512_C */ 00902 #endif /* MBEDTLS_GCM_C */ 00903 #endif /* MBEDTLS_CAMELLIA_C */ 00904 00905 #if defined(MBEDTLS_DES_C) 00906 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00907 #if defined(MBEDTLS_SHA1_C) 00908 { MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA", 00909 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00910 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00911 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00912 0 }, 00913 #endif /* MBEDTLS_SHA1_C */ 00914 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00915 #endif /* MBEDTLS_DES_C */ 00916 00917 #if defined(MBEDTLS_ARC4_C) 00918 #if defined(MBEDTLS_SHA1_C) 00919 { MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA", 00920 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00921 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00922 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00923 MBEDTLS_CIPHERSUITE_NODTLS }, 00924 #endif /* MBEDTLS_SHA1_C */ 00925 #endif /* MBEDTLS_ARC4_C */ 00926 00927 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00928 #if defined(MBEDTLS_SHA1_C) 00929 { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA", 00930 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00931 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00932 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00933 MBEDTLS_CIPHERSUITE_WEAK }, 00934 #endif /* MBEDTLS_SHA1_C */ 00935 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00936 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 00937 00938 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 00939 #if defined(MBEDTLS_AES_C) 00940 #if defined(MBEDTLS_SHA1_C) 00941 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00942 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", 00943 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00944 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00945 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00946 0 }, 00947 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA", 00948 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00949 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00950 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00951 0 }, 00952 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00953 #endif /* MBEDTLS_SHA1_C */ 00954 #if defined(MBEDTLS_SHA256_C) 00955 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00956 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", 00957 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00958 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00959 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00960 0 }, 00961 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00962 #if defined(MBEDTLS_GCM_C) 00963 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256", 00964 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00965 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00966 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00967 0 }, 00968 #endif /* MBEDTLS_GCM_C */ 00969 #endif /* MBEDTLS_SHA256_C */ 00970 #if defined(MBEDTLS_SHA512_C) 00971 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00972 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", 00973 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00974 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00975 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00976 0 }, 00977 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00978 #if defined(MBEDTLS_GCM_C) 00979 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384", 00980 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00981 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00982 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00983 0 }, 00984 #endif /* MBEDTLS_GCM_C */ 00985 #endif /* MBEDTLS_SHA512_C */ 00986 #endif /* MBEDTLS_AES_C */ 00987 00988 #if defined(MBEDTLS_CAMELLIA_C) 00989 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00990 #if defined(MBEDTLS_SHA256_C) 00991 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 00992 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00993 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00994 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00995 0 }, 00996 #endif /* MBEDTLS_SHA256_C */ 00997 #if defined(MBEDTLS_SHA512_C) 00998 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 00999 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01000 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01001 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01002 0 }, 01003 #endif /* MBEDTLS_SHA512_C */ 01004 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01005 01006 #if defined(MBEDTLS_GCM_C) 01007 #if defined(MBEDTLS_SHA256_C) 01008 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 01009 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01010 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01011 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01012 0 }, 01013 #endif /* MBEDTLS_SHA256_C */ 01014 #if defined(MBEDTLS_SHA512_C) 01015 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 01016 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01017 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01018 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01019 0 }, 01020 #endif /* MBEDTLS_SHA512_C */ 01021 #endif /* MBEDTLS_GCM_C */ 01022 #endif /* MBEDTLS_CAMELLIA_C */ 01023 01024 #if defined(MBEDTLS_DES_C) 01025 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01026 #if defined(MBEDTLS_SHA1_C) 01027 { MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA", 01028 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01029 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01030 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01031 0 }, 01032 #endif /* MBEDTLS_SHA1_C */ 01033 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01034 #endif /* MBEDTLS_DES_C */ 01035 01036 #if defined(MBEDTLS_ARC4_C) 01037 #if defined(MBEDTLS_SHA1_C) 01038 { MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA", 01039 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01040 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01041 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01042 MBEDTLS_CIPHERSUITE_NODTLS }, 01043 #endif /* MBEDTLS_SHA1_C */ 01044 #endif /* MBEDTLS_ARC4_C */ 01045 01046 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 01047 #if defined(MBEDTLS_SHA1_C) 01048 { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA", 01049 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01050 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01051 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01052 MBEDTLS_CIPHERSUITE_WEAK }, 01053 #endif /* MBEDTLS_SHA1_C */ 01054 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 01055 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 01056 01057 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 01058 #if defined(MBEDTLS_AES_C) 01059 #if defined(MBEDTLS_GCM_C) 01060 #if defined(MBEDTLS_SHA256_C) 01061 { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256", 01062 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01063 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01064 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01065 0 }, 01066 #endif /* MBEDTLS_SHA256_C */ 01067 01068 #if defined(MBEDTLS_SHA512_C) 01069 { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384", 01070 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01071 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01072 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01073 0 }, 01074 #endif /* MBEDTLS_SHA512_C */ 01075 #endif /* MBEDTLS_GCM_C */ 01076 01077 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01078 #if defined(MBEDTLS_SHA256_C) 01079 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256", 01080 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01081 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01082 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01083 0 }, 01084 #endif /* MBEDTLS_SHA256_C */ 01085 01086 #if defined(MBEDTLS_SHA512_C) 01087 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384", 01088 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01089 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01090 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01091 0 }, 01092 #endif /* MBEDTLS_SHA512_C */ 01093 01094 #if defined(MBEDTLS_SHA1_C) 01095 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA", 01096 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01097 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01098 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01099 0 }, 01100 01101 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA", 01102 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01103 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01104 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01105 0 }, 01106 #endif /* MBEDTLS_SHA1_C */ 01107 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01108 #if defined(MBEDTLS_CCM_C) 01109 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM", 01110 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01111 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01112 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01113 0 }, 01114 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8", 01115 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01116 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01117 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01118 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01119 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM", 01120 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01121 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01122 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01123 0 }, 01124 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8", 01125 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01126 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01127 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01128 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01129 #endif /* MBEDTLS_CCM_C */ 01130 #endif /* MBEDTLS_AES_C */ 01131 01132 #if defined(MBEDTLS_CAMELLIA_C) 01133 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01134 #if defined(MBEDTLS_SHA256_C) 01135 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01136 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01137 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01138 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01139 0 }, 01140 #endif /* MBEDTLS_SHA256_C */ 01141 01142 #if defined(MBEDTLS_SHA512_C) 01143 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01144 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01145 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01146 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01147 0 }, 01148 #endif /* MBEDTLS_SHA512_C */ 01149 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01150 01151 #if defined(MBEDTLS_GCM_C) 01152 #if defined(MBEDTLS_SHA256_C) 01153 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01154 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01155 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01156 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01157 0 }, 01158 #endif /* MBEDTLS_SHA256_C */ 01159 01160 #if defined(MBEDTLS_SHA512_C) 01161 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01162 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01163 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01164 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01165 0 }, 01166 #endif /* MBEDTLS_SHA512_C */ 01167 #endif /* MBEDTLS_GCM_C */ 01168 #endif /* MBEDTLS_CAMELLIA_C */ 01169 01170 #if defined(MBEDTLS_DES_C) 01171 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01172 #if defined(MBEDTLS_SHA1_C) 01173 { MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA", 01174 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01175 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01176 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01177 0 }, 01178 #endif /* MBEDTLS_SHA1_C */ 01179 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01180 #endif /* MBEDTLS_DES_C */ 01181 01182 #if defined(MBEDTLS_ARC4_C) 01183 #if defined(MBEDTLS_SHA1_C) 01184 { MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA", 01185 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01186 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01187 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01188 MBEDTLS_CIPHERSUITE_NODTLS }, 01189 #endif /* MBEDTLS_SHA1_C */ 01190 #endif /* MBEDTLS_ARC4_C */ 01191 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 01192 01193 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 01194 #if defined(MBEDTLS_AES_C) 01195 #if defined(MBEDTLS_GCM_C) 01196 #if defined(MBEDTLS_SHA256_C) 01197 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", 01198 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01199 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01200 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01201 0 }, 01202 #endif /* MBEDTLS_SHA256_C */ 01203 01204 #if defined(MBEDTLS_SHA512_C) 01205 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", 01206 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01207 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01208 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01209 0 }, 01210 #endif /* MBEDTLS_SHA512_C */ 01211 #endif /* MBEDTLS_GCM_C */ 01212 01213 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01214 #if defined(MBEDTLS_SHA256_C) 01215 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", 01216 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01217 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01218 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01219 0 }, 01220 #endif /* MBEDTLS_SHA256_C */ 01221 01222 #if defined(MBEDTLS_SHA512_C) 01223 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", 01224 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01225 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01226 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01227 0 }, 01228 #endif /* MBEDTLS_SHA512_C */ 01229 01230 #if defined(MBEDTLS_SHA1_C) 01231 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", 01232 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01233 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01234 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01235 0 }, 01236 01237 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA", 01238 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01239 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01240 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01241 0 }, 01242 #endif /* MBEDTLS_SHA1_C */ 01243 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01244 #if defined(MBEDTLS_CCM_C) 01245 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM", 01246 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01247 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01248 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01249 0 }, 01250 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8", 01251 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01252 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01253 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01254 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01255 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM", 01256 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01257 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01258 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01259 0 }, 01260 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8", 01261 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01262 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01263 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01264 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01265 #endif /* MBEDTLS_CCM_C */ 01266 #endif /* MBEDTLS_AES_C */ 01267 01268 #if defined(MBEDTLS_CAMELLIA_C) 01269 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01270 #if defined(MBEDTLS_SHA256_C) 01271 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01272 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01273 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01274 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01275 0 }, 01276 #endif /* MBEDTLS_SHA256_C */ 01277 01278 #if defined(MBEDTLS_SHA512_C) 01279 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01280 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01281 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01282 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01283 0 }, 01284 #endif /* MBEDTLS_SHA512_C */ 01285 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01286 01287 #if defined(MBEDTLS_GCM_C) 01288 #if defined(MBEDTLS_SHA256_C) 01289 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01290 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01291 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01292 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01293 0 }, 01294 #endif /* MBEDTLS_SHA256_C */ 01295 01296 #if defined(MBEDTLS_SHA512_C) 01297 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01298 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01299 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01300 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01301 0 }, 01302 #endif /* MBEDTLS_SHA512_C */ 01303 #endif /* MBEDTLS_GCM_C */ 01304 #endif /* MBEDTLS_CAMELLIA_C */ 01305 01306 #if defined(MBEDTLS_DES_C) 01307 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01308 #if defined(MBEDTLS_SHA1_C) 01309 { MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA", 01310 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01311 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01312 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01313 0 }, 01314 #endif /* MBEDTLS_SHA1_C */ 01315 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01316 #endif /* MBEDTLS_DES_C */ 01317 01318 #if defined(MBEDTLS_ARC4_C) 01319 #if defined(MBEDTLS_SHA1_C) 01320 { MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA", 01321 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01322 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01323 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01324 MBEDTLS_CIPHERSUITE_NODTLS }, 01325 #endif /* MBEDTLS_SHA1_C */ 01326 #endif /* MBEDTLS_ARC4_C */ 01327 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 01328 01329 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 01330 #if defined(MBEDTLS_AES_C) 01331 01332 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01333 #if defined(MBEDTLS_SHA256_C) 01334 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", 01335 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01337 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01338 0 }, 01339 #endif /* MBEDTLS_SHA256_C */ 01340 01341 #if defined(MBEDTLS_SHA512_C) 01342 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", 01343 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01344 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01345 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01346 0 }, 01347 #endif /* MBEDTLS_SHA512_C */ 01348 01349 #if defined(MBEDTLS_SHA1_C) 01350 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", 01351 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01352 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01353 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01354 0 }, 01355 01356 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA", 01357 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01358 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01359 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01360 0 }, 01361 #endif /* MBEDTLS_SHA1_C */ 01362 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01363 #endif /* MBEDTLS_AES_C */ 01364 01365 #if defined(MBEDTLS_CAMELLIA_C) 01366 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01367 #if defined(MBEDTLS_SHA256_C) 01368 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01369 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01370 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01371 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01372 0 }, 01373 #endif /* MBEDTLS_SHA256_C */ 01374 01375 #if defined(MBEDTLS_SHA512_C) 01376 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01377 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01378 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01379 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01380 0 }, 01381 #endif /* MBEDTLS_SHA512_C */ 01382 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01383 #endif /* MBEDTLS_CAMELLIA_C */ 01384 01385 #if defined(MBEDTLS_DES_C) 01386 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01387 #if defined(MBEDTLS_SHA1_C) 01388 { MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA", 01389 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01390 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01391 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01392 0 }, 01393 #endif /* MBEDTLS_SHA1_C */ 01394 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01395 #endif /* MBEDTLS_DES_C */ 01396 01397 #if defined(MBEDTLS_ARC4_C) 01398 #if defined(MBEDTLS_SHA1_C) 01399 { MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA", 01400 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01401 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01402 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01403 MBEDTLS_CIPHERSUITE_NODTLS }, 01404 #endif /* MBEDTLS_SHA1_C */ 01405 #endif /* MBEDTLS_ARC4_C */ 01406 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 01407 01408 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 01409 #if defined(MBEDTLS_AES_C) 01410 #if defined(MBEDTLS_GCM_C) 01411 #if defined(MBEDTLS_SHA256_C) 01412 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", 01413 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01414 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01415 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01416 0 }, 01417 #endif /* MBEDTLS_SHA256_C */ 01418 01419 #if defined(MBEDTLS_SHA512_C) 01420 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", 01421 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01422 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01423 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01424 0 }, 01425 #endif /* MBEDTLS_SHA512_C */ 01426 #endif /* MBEDTLS_GCM_C */ 01427 01428 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01429 #if defined(MBEDTLS_SHA256_C) 01430 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", 01431 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01432 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01433 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01434 0 }, 01435 #endif /* MBEDTLS_SHA256_C */ 01436 01437 #if defined(MBEDTLS_SHA512_C) 01438 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", 01439 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01440 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01441 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01442 0 }, 01443 #endif /* MBEDTLS_SHA512_C */ 01444 01445 #if defined(MBEDTLS_SHA1_C) 01446 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", 01447 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01448 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01449 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01450 0 }, 01451 01452 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA", 01453 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01454 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01455 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01456 0 }, 01457 #endif /* MBEDTLS_SHA1_C */ 01458 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01459 #endif /* MBEDTLS_AES_C */ 01460 01461 #if defined(MBEDTLS_CAMELLIA_C) 01462 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01463 #if defined(MBEDTLS_SHA256_C) 01464 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01465 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01466 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01468 0 }, 01469 #endif /* MBEDTLS_SHA256_C */ 01470 01471 #if defined(MBEDTLS_SHA512_C) 01472 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01473 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01474 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01475 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01476 0 }, 01477 #endif /* MBEDTLS_SHA512_C */ 01478 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01479 01480 #if defined(MBEDTLS_GCM_C) 01481 #if defined(MBEDTLS_SHA256_C) 01482 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01483 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01484 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01485 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01486 0 }, 01487 #endif /* MBEDTLS_SHA256_C */ 01488 01489 #if defined(MBEDTLS_SHA512_C) 01490 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01491 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01492 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01493 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01494 0 }, 01495 #endif /* MBEDTLS_SHA512_C */ 01496 #endif /* MBEDTLS_GCM_C */ 01497 #endif /* MBEDTLS_CAMELLIA_C */ 01498 01499 #if defined(MBEDTLS_DES_C) 01500 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01501 #if defined(MBEDTLS_SHA1_C) 01502 { MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA", 01503 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01504 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01505 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01506 0 }, 01507 #endif /* MBEDTLS_SHA1_C */ 01508 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01509 #endif /* MBEDTLS_DES_C */ 01510 01511 #if defined(MBEDTLS_ARC4_C) 01512 #if defined(MBEDTLS_SHA1_C) 01513 { MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA", 01514 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01515 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01516 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01517 MBEDTLS_CIPHERSUITE_NODTLS }, 01518 #endif /* MBEDTLS_SHA1_C */ 01519 #endif /* MBEDTLS_ARC4_C */ 01520 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 01521 01522 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 01523 #if defined(MBEDTLS_AES_C) 01524 #if defined(MBEDTLS_CCM_C) 01525 { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8", 01526 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE, 01527 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01528 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01529 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01530 #endif /* MBEDTLS_CCM_C */ 01531 #endif /* MBEDTLS_AES_C */ 01532 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 01533 01534 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES) 01535 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 01536 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 01537 #if defined(MBEDTLS_MD5_C) 01538 { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5", 01539 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 01540 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01541 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01542 MBEDTLS_CIPHERSUITE_WEAK }, 01543 #endif 01544 01545 #if defined(MBEDTLS_SHA1_C) 01546 { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA", 01547 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 01548 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01549 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01550 MBEDTLS_CIPHERSUITE_WEAK }, 01551 #endif 01552 01553 #if defined(MBEDTLS_SHA256_C) 01554 { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256", 01555 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 01556 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01557 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01558 MBEDTLS_CIPHERSUITE_WEAK }, 01559 #endif 01560 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 01561 01562 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 01563 #if defined(MBEDTLS_SHA1_C) 01564 { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA", 01565 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01566 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01567 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01568 MBEDTLS_CIPHERSUITE_WEAK }, 01569 #endif /* MBEDTLS_SHA1_C */ 01570 01571 #if defined(MBEDTLS_SHA256_C) 01572 { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256", 01573 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01574 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01575 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01576 MBEDTLS_CIPHERSUITE_WEAK }, 01577 #endif 01578 01579 #if defined(MBEDTLS_SHA512_C) 01580 { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384", 01581 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01582 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01583 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01584 MBEDTLS_CIPHERSUITE_WEAK }, 01585 #endif 01586 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 01587 01588 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 01589 #if defined(MBEDTLS_SHA1_C) 01590 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA", 01591 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01592 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01593 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01594 MBEDTLS_CIPHERSUITE_WEAK }, 01595 #endif /* MBEDTLS_SHA1_C */ 01596 01597 #if defined(MBEDTLS_SHA256_C) 01598 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256", 01599 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01600 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01601 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01602 MBEDTLS_CIPHERSUITE_WEAK }, 01603 #endif 01604 01605 #if defined(MBEDTLS_SHA512_C) 01606 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384", 01607 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01608 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01609 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01610 MBEDTLS_CIPHERSUITE_WEAK }, 01611 #endif 01612 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 01613 01614 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 01615 #if defined(MBEDTLS_SHA1_C) 01616 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA", 01617 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01618 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01619 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01620 MBEDTLS_CIPHERSUITE_WEAK }, 01621 #endif /* MBEDTLS_SHA1_C */ 01622 01623 #if defined(MBEDTLS_SHA256_C) 01624 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256", 01625 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01626 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01627 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01628 MBEDTLS_CIPHERSUITE_WEAK }, 01629 #endif 01630 01631 #if defined(MBEDTLS_SHA512_C) 01632 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384", 01633 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01634 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01635 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01636 MBEDTLS_CIPHERSUITE_WEAK }, 01637 #endif 01638 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 01639 01640 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 01641 #if defined(MBEDTLS_SHA1_C) 01642 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA", 01643 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01644 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01645 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01646 MBEDTLS_CIPHERSUITE_WEAK }, 01647 #endif /* MBEDTLS_SHA1_C */ 01648 01649 #if defined(MBEDTLS_SHA256_C) 01650 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256", 01651 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01652 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01653 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01654 MBEDTLS_CIPHERSUITE_WEAK }, 01655 #endif 01656 01657 #if defined(MBEDTLS_SHA512_C) 01658 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384", 01659 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01660 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01661 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01662 MBEDTLS_CIPHERSUITE_WEAK }, 01663 #endif 01664 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 01665 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 01666 01667 #if defined(MBEDTLS_DES_C) 01668 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01669 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 01670 #if defined(MBEDTLS_SHA1_C) 01671 { MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA", 01672 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 01673 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01674 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01675 MBEDTLS_CIPHERSUITE_WEAK }, 01676 #endif /* MBEDTLS_SHA1_C */ 01677 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 01678 01679 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 01680 #if defined(MBEDTLS_SHA1_C) 01681 { MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA", 01682 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 01683 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01684 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01685 MBEDTLS_CIPHERSUITE_WEAK }, 01686 #endif /* MBEDTLS_SHA1_C */ 01687 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 01688 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01689 #endif /* MBEDTLS_DES_C */ 01690 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */ 01691 01692 { 0, "", 01693 MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE, 01694 0, 0, 0, 0, 0 } 01695 }; 01696 01697 #if defined(MBEDTLS_SSL_CIPHERSUITES) 01698 const int *mbedtls_ssl_list_ciphersuites( void ) 01699 { 01700 return( ciphersuite_preference ); 01701 } 01702 #else 01703 #define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \ 01704 sizeof( ciphersuite_definitions[0] ) 01705 static int supported_ciphersuites[MAX_CIPHERSUITES]; 01706 static int supported_init = 0; 01707 01708 const int *mbedtls_ssl_list_ciphersuites( void ) 01709 { 01710 /* 01711 * On initial call filter out all ciphersuites not supported by current 01712 * build based on presence in the ciphersuite_definitions. 01713 */ 01714 if( supported_init == 0 ) 01715 { 01716 const int *p; 01717 int *q; 01718 01719 for( p = ciphersuite_preference, q = supported_ciphersuites; 01720 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1; 01721 p++ ) 01722 { 01723 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES) 01724 const mbedtls_ssl_ciphersuite_t *cs_info; 01725 if( ( cs_info = mbedtls_ssl_ciphersuite_from_id( *p ) ) != NULL && 01726 cs_info->cipher != MBEDTLS_CIPHER_ARC4_128 ) 01727 #else 01728 if( mbedtls_ssl_ciphersuite_from_id( *p ) != NULL ) 01729 #endif 01730 *(q++) = *p; 01731 } 01732 *q = 0; 01733 01734 supported_init = 1; 01735 } 01736 01737 return( supported_ciphersuites ); 01738 } 01739 #endif /* MBEDTLS_SSL_CIPHERSUITES */ 01740 01741 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string( 01742 const char *ciphersuite_name ) 01743 { 01744 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 01745 01746 if( NULL == ciphersuite_name ) 01747 return( NULL ); 01748 01749 while( cur->id != 0 ) 01750 { 01751 if( 0 == strcmp( cur->name, ciphersuite_name ) ) 01752 return( cur ); 01753 01754 cur++; 01755 } 01756 01757 return( NULL ); 01758 } 01759 01760 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite ) 01761 { 01762 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 01763 01764 while( cur->id != 0 ) 01765 { 01766 if( cur->id == ciphersuite ) 01767 return( cur ); 01768 01769 cur++; 01770 } 01771 01772 return( NULL ); 01773 } 01774 01775 const char *mbedtls_ssl_get_ciphersuite_name( const int ciphersuite_id ) 01776 { 01777 const mbedtls_ssl_ciphersuite_t *cur; 01778 01779 cur = mbedtls_ssl_ciphersuite_from_id( ciphersuite_id ); 01780 01781 if( cur == NULL ) 01782 return( "unknown" ); 01783 01784 return( cur->name ); 01785 } 01786 01787 int mbedtls_ssl_get_ciphersuite_id( const char *ciphersuite_name ) 01788 { 01789 const mbedtls_ssl_ciphersuite_t *cur; 01790 01791 cur = mbedtls_ssl_ciphersuite_from_string( ciphersuite_name ); 01792 01793 if( cur == NULL ) 01794 return( 0 ); 01795 01796 return( cur->id ); 01797 } 01798 01799 #if defined(MBEDTLS_PK_C) 01800 mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info ) 01801 { 01802 switch( info->key_exchange ) 01803 { 01804 case MBEDTLS_KEY_EXCHANGE_RSA: 01805 case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 01806 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 01807 case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 01808 return( MBEDTLS_PK_RSA ); 01809 01810 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 01811 return( MBEDTLS_PK_ECDSA ); 01812 01813 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 01814 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 01815 return( MBEDTLS_PK_ECKEY ); 01816 01817 default: 01818 return( MBEDTLS_PK_NONE ); 01819 } 01820 } 01821 #endif /* MBEDTLS_PK_C */ 01822 01823 #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) 01824 int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info ) 01825 { 01826 switch( info->key_exchange ) 01827 { 01828 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 01829 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 01830 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 01831 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 01832 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 01833 return( 1 ); 01834 01835 default: 01836 return( 0 ); 01837 } 01838 } 01839 #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C */ 01840 01841 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED) 01842 int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info ) 01843 { 01844 switch( info->key_exchange ) 01845 { 01846 case MBEDTLS_KEY_EXCHANGE_PSK: 01847 case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 01848 case MBEDTLS_KEY_EXCHANGE_DHE_PSK: 01849 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 01850 return( 1 ); 01851 01852 default: 01853 return( 0 ); 01854 } 01855 } 01856 #endif /* MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED */ 01857 01858 #endif /* MBEDTLS_SSL_TLS_C */
Generated on Tue Jul 12 2022 12:28:50 by
1.7.2
