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.
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 #endif 00037 00038 #include "mbedtls/ssl_ciphersuites.h" 00039 #include "mbedtls/ssl.h" 00040 00041 #include <string.h> 00042 00043 /* 00044 * Ordered from most preferred to least preferred in terms of security. 00045 * 00046 * Current rule (except rc4, weak and null which come last): 00047 * 1. By key exchange: 00048 * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK 00049 * 2. By key length and cipher: 00050 * AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128 > 3DES 00051 * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8 00052 * 4. By hash function used when relevant 00053 * 5. By key exchange/auth again: EC > non-EC 00054 */ 00055 static const int ciphersuite_preference[] = 00056 { 00057 #if defined(MBEDTLS_SSL_CIPHERSUITES) 00058 MBEDTLS_SSL_CIPHERSUITES, 00059 #else 00060 /* All AES-256 ephemeral suites */ 00061 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 00062 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 00063 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 00064 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, 00065 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, 00066 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 00067 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, 00068 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, 00069 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, 00070 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 00071 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 00072 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, 00073 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, 00074 00075 /* All CAMELLIA-256 ephemeral suites */ 00076 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 00077 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00078 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00079 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 00080 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, 00081 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, 00082 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, 00083 00084 /* All ARIA-256 ephemeral suites */ 00085 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384, 00086 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384, 00087 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384, 00088 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, 00089 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, 00090 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, 00091 00092 /* All AES-128 ephemeral suites */ 00093 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 00094 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 00095 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 00096 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, 00097 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, 00098 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 00099 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 00100 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, 00101 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, 00102 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 00103 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 00104 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, 00105 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, 00106 00107 /* All CAMELLIA-128 ephemeral suites */ 00108 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 00109 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00110 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00111 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 00112 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00113 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00114 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, 00115 00116 /* All ARIA-128 ephemeral suites */ 00117 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256, 00118 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256, 00119 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256, 00120 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, 00121 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, 00122 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, 00123 00124 /* All remaining >= 128-bit ephemeral suites */ 00125 MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, 00126 MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, 00127 MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 00128 00129 /* The PSK ephemeral suites */ 00130 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, 00131 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, 00132 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, 00133 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, 00134 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, 00135 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, 00136 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00137 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00138 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00139 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, 00140 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384, 00141 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, 00142 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, 00143 00144 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, 00145 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, 00146 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, 00147 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, 00148 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, 00149 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, 00150 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00151 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00152 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00153 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, 00154 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256, 00155 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, 00156 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, 00157 00158 MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, 00159 MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, 00160 00161 /* The ECJPAKE suite */ 00162 MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, 00163 00164 /* All AES-256 suites */ 00165 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, 00166 MBEDTLS_TLS_RSA_WITH_AES_256_CCM, 00167 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, 00168 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, 00169 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, 00170 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 00171 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, 00172 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 00173 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, 00174 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 00175 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, 00176 00177 /* All CAMELLIA-256 suites */ 00178 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00179 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, 00180 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, 00181 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, 00182 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, 00183 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, 00184 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, 00185 00186 /* All ARIA-256 suites */ 00187 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, 00188 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, 00189 MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384, 00190 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, 00191 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, 00192 MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384, 00193 00194 /* All AES-128 suites */ 00195 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, 00196 MBEDTLS_TLS_RSA_WITH_AES_128_CCM, 00197 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, 00198 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, 00199 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, 00200 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 00201 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, 00202 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 00203 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, 00204 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 00205 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, 00206 00207 /* All CAMELLIA-128 suites */ 00208 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00209 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00210 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, 00211 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, 00212 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, 00213 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, 00214 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, 00215 00216 /* All ARIA-128 suites */ 00217 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, 00218 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, 00219 MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256, 00220 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, 00221 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, 00222 MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256, 00223 00224 /* All remaining >= 128-bit suites */ 00225 MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, 00226 MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, 00227 MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, 00228 00229 /* The RSA PSK suites */ 00230 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, 00231 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, 00232 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, 00233 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00234 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00235 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, 00236 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, 00237 00238 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, 00239 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, 00240 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, 00241 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00242 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00243 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, 00244 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, 00245 00246 MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, 00247 00248 /* The PSK suites */ 00249 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, 00250 MBEDTLS_TLS_PSK_WITH_AES_256_CCM, 00251 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, 00252 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, 00253 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, 00254 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, 00255 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, 00256 MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384, 00257 MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384, 00258 00259 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, 00260 MBEDTLS_TLS_PSK_WITH_AES_128_CCM, 00261 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, 00262 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, 00263 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, 00264 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, 00265 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, 00266 MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256, 00267 MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256, 00268 00269 MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, 00270 00271 /* RC4 suites */ 00272 MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, 00273 MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, 00274 MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, 00275 MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, 00276 MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, 00277 MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, 00278 MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, 00279 MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, 00280 MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, 00281 MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, 00282 00283 /* Weak suites */ 00284 MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, 00285 MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, 00286 00287 /* NULL suites */ 00288 MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, 00289 MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, 00290 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, 00291 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, 00292 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, 00293 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, 00294 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, 00295 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, 00296 00297 MBEDTLS_TLS_RSA_WITH_NULL_SHA256, 00298 MBEDTLS_TLS_RSA_WITH_NULL_SHA, 00299 MBEDTLS_TLS_RSA_WITH_NULL_MD5, 00300 MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, 00301 MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, 00302 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, 00303 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, 00304 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, 00305 MBEDTLS_TLS_PSK_WITH_NULL_SHA384, 00306 MBEDTLS_TLS_PSK_WITH_NULL_SHA256, 00307 MBEDTLS_TLS_PSK_WITH_NULL_SHA, 00308 00309 #endif /* MBEDTLS_SSL_CIPHERSUITES */ 00310 0 00311 }; 00312 00313 static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = 00314 { 00315 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 00316 #if defined(MBEDTLS_AES_C) 00317 #if defined(MBEDTLS_SHA1_C) 00318 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00319 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", 00320 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00321 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00322 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00323 0 }, 00324 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA", 00325 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00326 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00327 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00328 0 }, 00329 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00330 #endif /* MBEDTLS_SHA1_C */ 00331 #if defined(MBEDTLS_SHA256_C) 00332 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00333 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", 00334 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00335 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00337 0 }, 00338 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00339 #if defined(MBEDTLS_GCM_C) 00340 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256", 00341 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00342 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00343 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00344 0 }, 00345 #endif /* MBEDTLS_GCM_C */ 00346 #endif /* MBEDTLS_SHA256_C */ 00347 #if defined(MBEDTLS_SHA512_C) 00348 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00349 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", 00350 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00351 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00352 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00353 0 }, 00354 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00355 #if defined(MBEDTLS_GCM_C) 00356 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384", 00357 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00358 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00359 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00360 0 }, 00361 #endif /* MBEDTLS_GCM_C */ 00362 #endif /* MBEDTLS_SHA512_C */ 00363 #if defined(MBEDTLS_CCM_C) 00364 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", 00365 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00366 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00367 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00368 0 }, 00369 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8", 00370 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, 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 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00374 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM", 00375 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00376 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00377 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00378 0 }, 00379 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8", 00380 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00381 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00382 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00383 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00384 #endif /* MBEDTLS_CCM_C */ 00385 #endif /* MBEDTLS_AES_C */ 00386 00387 #if defined(MBEDTLS_CAMELLIA_C) 00388 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00389 #if defined(MBEDTLS_SHA256_C) 00390 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 00391 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00392 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00393 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00394 0 }, 00395 #endif /* MBEDTLS_SHA256_C */ 00396 #if defined(MBEDTLS_SHA512_C) 00397 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 00398 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00399 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00400 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00401 0 }, 00402 #endif /* MBEDTLS_SHA512_C */ 00403 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00404 00405 #if defined(MBEDTLS_GCM_C) 00406 #if defined(MBEDTLS_SHA256_C) 00407 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 00408 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00409 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00410 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00411 0 }, 00412 #endif /* MBEDTLS_SHA256_C */ 00413 #if defined(MBEDTLS_SHA512_C) 00414 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 00415 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00416 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00417 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00418 0 }, 00419 #endif /* MBEDTLS_SHA512_C */ 00420 #endif /* MBEDTLS_GCM_C */ 00421 #endif /* MBEDTLS_CAMELLIA_C */ 00422 00423 #if defined(MBEDTLS_DES_C) 00424 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00425 #if defined(MBEDTLS_SHA1_C) 00426 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA", 00427 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00428 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00429 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00430 0 }, 00431 #endif /* MBEDTLS_SHA1_C */ 00432 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00433 #endif /* MBEDTLS_DES_C */ 00434 00435 #if defined(MBEDTLS_ARC4_C) 00436 #if defined(MBEDTLS_SHA1_C) 00437 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA", 00438 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00439 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00440 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00441 MBEDTLS_CIPHERSUITE_NODTLS }, 00442 #endif /* MBEDTLS_SHA1_C */ 00443 #endif /* MBEDTLS_ARC4_C */ 00444 00445 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00446 #if defined(MBEDTLS_SHA1_C) 00447 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA", 00448 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 00449 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00450 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00451 MBEDTLS_CIPHERSUITE_WEAK }, 00452 #endif /* MBEDTLS_SHA1_C */ 00453 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00454 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 00455 00456 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 00457 #if defined(MBEDTLS_AES_C) 00458 #if defined(MBEDTLS_SHA1_C) 00459 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00460 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", 00461 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00462 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00463 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00464 0 }, 00465 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA", 00466 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00468 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00469 0 }, 00470 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00471 #endif /* MBEDTLS_SHA1_C */ 00472 #if defined(MBEDTLS_SHA256_C) 00473 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00474 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", 00475 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00476 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00477 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00478 0 }, 00479 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00480 #if defined(MBEDTLS_GCM_C) 00481 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256", 00482 MBEDTLS_CIPHER_AES_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_GCM_C */ 00487 #endif /* MBEDTLS_SHA256_C */ 00488 #if defined(MBEDTLS_SHA512_C) 00489 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00490 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", 00491 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00492 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00493 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00494 0 }, 00495 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00496 #if defined(MBEDTLS_GCM_C) 00497 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384", 00498 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00499 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00500 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00501 0 }, 00502 #endif /* MBEDTLS_GCM_C */ 00503 #endif /* MBEDTLS_SHA512_C */ 00504 #endif /* MBEDTLS_AES_C */ 00505 00506 #if defined(MBEDTLS_CAMELLIA_C) 00507 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00508 #if defined(MBEDTLS_SHA256_C) 00509 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00510 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00511 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00512 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00513 0 }, 00514 #endif /* MBEDTLS_SHA256_C */ 00515 #if defined(MBEDTLS_SHA512_C) 00516 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384", 00517 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00518 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00519 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00520 0 }, 00521 #endif /* MBEDTLS_SHA512_C */ 00522 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00523 00524 #if defined(MBEDTLS_GCM_C) 00525 #if defined(MBEDTLS_SHA256_C) 00526 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00527 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00528 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00529 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00530 0 }, 00531 #endif /* MBEDTLS_SHA256_C */ 00532 #if defined(MBEDTLS_SHA512_C) 00533 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00534 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_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 */ 00539 #endif /* MBEDTLS_GCM_C */ 00540 #endif /* MBEDTLS_CAMELLIA_C */ 00541 00542 #if defined(MBEDTLS_DES_C) 00543 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00544 #if defined(MBEDTLS_SHA1_C) 00545 { MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA", 00546 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00547 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00548 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00549 0 }, 00550 #endif /* MBEDTLS_SHA1_C */ 00551 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00552 #endif /* MBEDTLS_DES_C */ 00553 00554 #if defined(MBEDTLS_ARC4_C) 00555 #if defined(MBEDTLS_SHA1_C) 00556 { MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA", 00557 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00558 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00559 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00560 MBEDTLS_CIPHERSUITE_NODTLS }, 00561 #endif /* MBEDTLS_SHA1_C */ 00562 #endif /* MBEDTLS_ARC4_C */ 00563 00564 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00565 #if defined(MBEDTLS_SHA1_C) 00566 { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA", 00567 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 00568 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00569 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00570 MBEDTLS_CIPHERSUITE_WEAK }, 00571 #endif /* MBEDTLS_SHA1_C */ 00572 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00573 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 00574 00575 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 00576 #if defined(MBEDTLS_AES_C) 00577 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 00578 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", 00579 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00580 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00581 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00582 0 }, 00583 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 00584 00585 #if defined(MBEDTLS_SHA256_C) 00586 #if defined(MBEDTLS_GCM_C) 00587 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", 00588 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00589 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00590 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00591 0 }, 00592 #endif /* MBEDTLS_GCM_C */ 00593 00594 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00595 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256", 00596 MBEDTLS_CIPHER_AES_128_CBC, 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 0 }, 00600 00601 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256", 00602 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00603 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00604 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00605 0 }, 00606 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00607 #endif /* MBEDTLS_SHA256_C */ 00608 00609 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00610 #if defined(MBEDTLS_SHA1_C) 00611 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", 00612 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00613 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00614 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00615 0 }, 00616 00617 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA", 00618 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00619 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00620 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00621 0 }, 00622 #endif /* MBEDTLS_SHA1_C */ 00623 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00624 #if defined(MBEDTLS_CCM_C) 00625 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM", 00626 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00627 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00628 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00629 0 }, 00630 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8", 00631 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00632 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00633 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00634 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00635 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM", 00636 MBEDTLS_CIPHER_AES_128_CCM, 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 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8", 00641 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00642 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00643 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00644 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00645 #endif /* MBEDTLS_CCM_C */ 00646 #endif /* MBEDTLS_AES_C */ 00647 00648 #if defined(MBEDTLS_CAMELLIA_C) 00649 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00650 #if defined(MBEDTLS_SHA256_C) 00651 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00652 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00653 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00654 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00655 0 }, 00656 00657 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256", 00658 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00659 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00660 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00661 0 }, 00662 #endif /* MBEDTLS_SHA256_C */ 00663 00664 #if defined(MBEDTLS_SHA1_C) 00665 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", 00666 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00667 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00668 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00669 0 }, 00670 00671 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA", 00672 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00673 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00674 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00675 0 }, 00676 #endif /* MBEDTLS_SHA1_C */ 00677 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00678 #if defined(MBEDTLS_GCM_C) 00679 #if defined(MBEDTLS_SHA256_C) 00680 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00681 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00682 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00683 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00684 0 }, 00685 #endif /* MBEDTLS_SHA256_C */ 00686 00687 #if defined(MBEDTLS_SHA512_C) 00688 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00689 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00690 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00691 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00692 0 }, 00693 #endif /* MBEDTLS_SHA512_C */ 00694 #endif /* MBEDTLS_GCM_C */ 00695 #endif /* MBEDTLS_CAMELLIA_C */ 00696 00697 #if defined(MBEDTLS_DES_C) 00698 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00699 #if defined(MBEDTLS_SHA1_C) 00700 { MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA", 00701 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 00702 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00703 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00704 0 }, 00705 #endif /* MBEDTLS_SHA1_C */ 00706 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00707 #endif /* MBEDTLS_DES_C */ 00708 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 00709 00710 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 00711 #if defined(MBEDTLS_AES_C) 00712 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C) 00713 { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384", 00714 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 00715 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00716 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00717 0 }, 00718 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */ 00719 00720 #if defined(MBEDTLS_SHA256_C) 00721 #if defined(MBEDTLS_GCM_C) 00722 { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256", 00723 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00724 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00725 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00726 0 }, 00727 #endif /* MBEDTLS_GCM_C */ 00728 00729 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00730 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256", 00731 MBEDTLS_CIPHER_AES_128_CBC, 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 0 }, 00735 00736 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256", 00737 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00738 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00739 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00740 0 }, 00741 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00742 #endif /* MBEDTLS_SHA256_C */ 00743 00744 #if defined(MBEDTLS_SHA1_C) 00745 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00746 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA", 00747 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00748 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00749 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00750 0 }, 00751 00752 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA", 00753 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00754 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00755 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00756 0 }, 00757 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00758 #endif /* MBEDTLS_SHA1_C */ 00759 #if defined(MBEDTLS_CCM_C) 00760 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM", 00761 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00762 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00763 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00764 0 }, 00765 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8", 00766 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00767 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00768 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00769 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00770 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM", 00771 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00772 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00773 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00774 0 }, 00775 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8", 00776 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00777 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00778 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00779 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 00780 #endif /* MBEDTLS_CCM_C */ 00781 #endif /* MBEDTLS_AES_C */ 00782 00783 #if defined(MBEDTLS_CAMELLIA_C) 00784 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00785 #if defined(MBEDTLS_SHA256_C) 00786 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00787 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00788 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00789 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00790 0 }, 00791 00792 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256", 00793 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00794 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00795 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00796 0 }, 00797 #endif /* MBEDTLS_SHA256_C */ 00798 00799 #if defined(MBEDTLS_SHA1_C) 00800 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", 00801 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00802 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00803 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00804 0 }, 00805 00806 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA", 00807 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00808 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00809 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00810 0 }, 00811 #endif /* MBEDTLS_SHA1_C */ 00812 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00813 00814 #if defined(MBEDTLS_GCM_C) 00815 #if defined(MBEDTLS_SHA256_C) 00816 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00817 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 00818 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00819 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00820 0 }, 00821 #endif /* MBEDTLS_SHA256_C */ 00822 00823 #if defined(MBEDTLS_SHA1_C) 00824 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00825 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 00826 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00827 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00828 0 }, 00829 #endif /* MBEDTLS_SHA1_C */ 00830 #endif /* MBEDTLS_GCM_C */ 00831 #endif /* MBEDTLS_CAMELLIA_C */ 00832 00833 #if defined(MBEDTLS_DES_C) 00834 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00835 #if defined(MBEDTLS_SHA1_C) 00836 { MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA", 00837 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00838 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00839 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00840 0 }, 00841 #endif /* MBEDTLS_SHA1_C */ 00842 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00843 #endif /* MBEDTLS_DES_C */ 00844 00845 #if defined(MBEDTLS_ARC4_C) 00846 #if defined(MBEDTLS_MD5_C) 00847 { MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5", 00848 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 00849 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00850 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00851 MBEDTLS_CIPHERSUITE_NODTLS }, 00852 #endif 00853 00854 #if defined(MBEDTLS_SHA1_C) 00855 { MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA", 00856 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 00857 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 00858 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00859 MBEDTLS_CIPHERSUITE_NODTLS }, 00860 #endif 00861 #endif /* MBEDTLS_ARC4_C */ 00862 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 00863 00864 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 00865 #if defined(MBEDTLS_AES_C) 00866 #if defined(MBEDTLS_SHA1_C) 00867 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00868 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", 00869 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00870 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00871 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00872 0 }, 00873 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA", 00874 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00875 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00876 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00877 0 }, 00878 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00879 #endif /* MBEDTLS_SHA1_C */ 00880 #if defined(MBEDTLS_SHA256_C) 00881 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00882 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", 00883 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00884 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00885 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00886 0 }, 00887 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00888 #if defined(MBEDTLS_GCM_C) 00889 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256", 00890 MBEDTLS_CIPHER_AES_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_GCM_C */ 00895 #endif /* MBEDTLS_SHA256_C */ 00896 #if defined(MBEDTLS_SHA512_C) 00897 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00898 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", 00899 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00900 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00901 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00902 0 }, 00903 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00904 #if defined(MBEDTLS_GCM_C) 00905 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384", 00906 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00907 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00908 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00909 0 }, 00910 #endif /* MBEDTLS_GCM_C */ 00911 #endif /* MBEDTLS_SHA512_C */ 00912 #endif /* MBEDTLS_AES_C */ 00913 00914 #if defined(MBEDTLS_CAMELLIA_C) 00915 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00916 #if defined(MBEDTLS_SHA256_C) 00917 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256", 00918 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00919 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00920 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00921 0 }, 00922 #endif /* MBEDTLS_SHA256_C */ 00923 #if defined(MBEDTLS_SHA512_C) 00924 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384", 00925 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00926 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00927 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00928 0 }, 00929 #endif /* MBEDTLS_SHA512_C */ 00930 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00931 00932 #if defined(MBEDTLS_GCM_C) 00933 #if defined(MBEDTLS_SHA256_C) 00934 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256", 00935 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00936 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00937 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00938 0 }, 00939 #endif /* MBEDTLS_SHA256_C */ 00940 #if defined(MBEDTLS_SHA512_C) 00941 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384", 00942 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00943 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00944 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00945 0 }, 00946 #endif /* MBEDTLS_SHA512_C */ 00947 #endif /* MBEDTLS_GCM_C */ 00948 #endif /* MBEDTLS_CAMELLIA_C */ 00949 00950 #if defined(MBEDTLS_DES_C) 00951 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00952 #if defined(MBEDTLS_SHA1_C) 00953 { MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA", 00954 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00955 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00956 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00957 0 }, 00958 #endif /* MBEDTLS_SHA1_C */ 00959 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00960 #endif /* MBEDTLS_DES_C */ 00961 00962 #if defined(MBEDTLS_ARC4_C) 00963 #if defined(MBEDTLS_SHA1_C) 00964 { MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA", 00965 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00966 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00967 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00968 MBEDTLS_CIPHERSUITE_NODTLS }, 00969 #endif /* MBEDTLS_SHA1_C */ 00970 #endif /* MBEDTLS_ARC4_C */ 00971 00972 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 00973 #if defined(MBEDTLS_SHA1_C) 00974 { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA", 00975 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 00976 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00977 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00978 MBEDTLS_CIPHERSUITE_WEAK }, 00979 #endif /* MBEDTLS_SHA1_C */ 00980 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 00981 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 00982 00983 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 00984 #if defined(MBEDTLS_AES_C) 00985 #if defined(MBEDTLS_SHA1_C) 00986 #if defined(MBEDTLS_CIPHER_MODE_CBC) 00987 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", 00988 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00989 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00990 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00991 0 }, 00992 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA", 00993 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 00994 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 00995 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 00996 0 }, 00997 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 00998 #endif /* MBEDTLS_SHA1_C */ 00999 #if defined(MBEDTLS_SHA256_C) 01000 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01001 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", 01002 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01003 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01004 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01005 0 }, 01006 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01007 #if defined(MBEDTLS_GCM_C) 01008 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256", 01009 MBEDTLS_CIPHER_AES_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_GCM_C */ 01014 #endif /* MBEDTLS_SHA256_C */ 01015 #if defined(MBEDTLS_SHA512_C) 01016 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01017 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", 01018 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01019 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01020 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01021 0 }, 01022 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01023 #if defined(MBEDTLS_GCM_C) 01024 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384", 01025 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01026 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01027 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01028 0 }, 01029 #endif /* MBEDTLS_GCM_C */ 01030 #endif /* MBEDTLS_SHA512_C */ 01031 #endif /* MBEDTLS_AES_C */ 01032 01033 #if defined(MBEDTLS_CAMELLIA_C) 01034 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01035 #if defined(MBEDTLS_SHA256_C) 01036 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256", 01037 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01038 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01039 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01040 0 }, 01041 #endif /* MBEDTLS_SHA256_C */ 01042 #if defined(MBEDTLS_SHA512_C) 01043 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384", 01044 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01045 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01046 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01047 0 }, 01048 #endif /* MBEDTLS_SHA512_C */ 01049 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01050 01051 #if defined(MBEDTLS_GCM_C) 01052 #if defined(MBEDTLS_SHA256_C) 01053 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256", 01054 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01055 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01056 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01057 0 }, 01058 #endif /* MBEDTLS_SHA256_C */ 01059 #if defined(MBEDTLS_SHA512_C) 01060 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384", 01061 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01062 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01063 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01064 0 }, 01065 #endif /* MBEDTLS_SHA512_C */ 01066 #endif /* MBEDTLS_GCM_C */ 01067 #endif /* MBEDTLS_CAMELLIA_C */ 01068 01069 #if defined(MBEDTLS_DES_C) 01070 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01071 #if defined(MBEDTLS_SHA1_C) 01072 { MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA", 01073 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01074 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01075 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01076 0 }, 01077 #endif /* MBEDTLS_SHA1_C */ 01078 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01079 #endif /* MBEDTLS_DES_C */ 01080 01081 #if defined(MBEDTLS_ARC4_C) 01082 #if defined(MBEDTLS_SHA1_C) 01083 { MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA", 01084 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01085 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01086 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01087 MBEDTLS_CIPHERSUITE_NODTLS }, 01088 #endif /* MBEDTLS_SHA1_C */ 01089 #endif /* MBEDTLS_ARC4_C */ 01090 01091 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 01092 #if defined(MBEDTLS_SHA1_C) 01093 { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA", 01094 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01095 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01096 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01097 MBEDTLS_CIPHERSUITE_WEAK }, 01098 #endif /* MBEDTLS_SHA1_C */ 01099 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 01100 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 01101 01102 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 01103 #if defined(MBEDTLS_AES_C) 01104 #if defined(MBEDTLS_GCM_C) 01105 #if defined(MBEDTLS_SHA256_C) 01106 { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256", 01107 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01108 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01109 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01110 0 }, 01111 #endif /* MBEDTLS_SHA256_C */ 01112 01113 #if defined(MBEDTLS_SHA512_C) 01114 { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384", 01115 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, 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 0 }, 01119 #endif /* MBEDTLS_SHA512_C */ 01120 #endif /* MBEDTLS_GCM_C */ 01121 01122 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01123 #if defined(MBEDTLS_SHA256_C) 01124 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256", 01125 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01126 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01127 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01128 0 }, 01129 #endif /* MBEDTLS_SHA256_C */ 01130 01131 #if defined(MBEDTLS_SHA512_C) 01132 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384", 01133 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01134 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01135 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01136 0 }, 01137 #endif /* MBEDTLS_SHA512_C */ 01138 01139 #if defined(MBEDTLS_SHA1_C) 01140 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA", 01141 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01142 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01143 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01144 0 }, 01145 01146 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA", 01147 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01148 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01149 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01150 0 }, 01151 #endif /* MBEDTLS_SHA1_C */ 01152 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01153 #if defined(MBEDTLS_CCM_C) 01154 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM", 01155 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01156 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01157 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01158 0 }, 01159 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8", 01160 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01161 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01162 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01163 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01164 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM", 01165 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01166 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01167 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01168 0 }, 01169 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8", 01170 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01171 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01172 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01173 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01174 #endif /* MBEDTLS_CCM_C */ 01175 #endif /* MBEDTLS_AES_C */ 01176 01177 #if defined(MBEDTLS_CAMELLIA_C) 01178 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01179 #if defined(MBEDTLS_SHA256_C) 01180 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01181 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01182 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01183 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01184 0 }, 01185 #endif /* MBEDTLS_SHA256_C */ 01186 01187 #if defined(MBEDTLS_SHA512_C) 01188 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01189 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01190 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01191 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01192 0 }, 01193 #endif /* MBEDTLS_SHA512_C */ 01194 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01195 01196 #if defined(MBEDTLS_GCM_C) 01197 #if defined(MBEDTLS_SHA256_C) 01198 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01199 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01200 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01201 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01202 0 }, 01203 #endif /* MBEDTLS_SHA256_C */ 01204 01205 #if defined(MBEDTLS_SHA512_C) 01206 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01207 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01208 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01209 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01210 0 }, 01211 #endif /* MBEDTLS_SHA512_C */ 01212 #endif /* MBEDTLS_GCM_C */ 01213 #endif /* MBEDTLS_CAMELLIA_C */ 01214 01215 #if defined(MBEDTLS_DES_C) 01216 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01217 #if defined(MBEDTLS_SHA1_C) 01218 { MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA", 01219 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01220 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01221 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01222 0 }, 01223 #endif /* MBEDTLS_SHA1_C */ 01224 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01225 #endif /* MBEDTLS_DES_C */ 01226 01227 #if defined(MBEDTLS_ARC4_C) 01228 #if defined(MBEDTLS_SHA1_C) 01229 { MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA", 01230 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01231 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01232 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01233 MBEDTLS_CIPHERSUITE_NODTLS }, 01234 #endif /* MBEDTLS_SHA1_C */ 01235 #endif /* MBEDTLS_ARC4_C */ 01236 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 01237 01238 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 01239 #if defined(MBEDTLS_AES_C) 01240 #if defined(MBEDTLS_GCM_C) 01241 #if defined(MBEDTLS_SHA256_C) 01242 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", 01243 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01244 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01245 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01246 0 }, 01247 #endif /* MBEDTLS_SHA256_C */ 01248 01249 #if defined(MBEDTLS_SHA512_C) 01250 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", 01251 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, 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 0 }, 01255 #endif /* MBEDTLS_SHA512_C */ 01256 #endif /* MBEDTLS_GCM_C */ 01257 01258 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01259 #if defined(MBEDTLS_SHA256_C) 01260 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", 01261 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01262 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01263 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01264 0 }, 01265 #endif /* MBEDTLS_SHA256_C */ 01266 01267 #if defined(MBEDTLS_SHA512_C) 01268 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", 01269 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01270 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01271 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01272 0 }, 01273 #endif /* MBEDTLS_SHA512_C */ 01274 01275 #if defined(MBEDTLS_SHA1_C) 01276 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", 01277 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01278 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01279 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01280 0 }, 01281 01282 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA", 01283 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01284 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01285 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01286 0 }, 01287 #endif /* MBEDTLS_SHA1_C */ 01288 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01289 #if defined(MBEDTLS_CCM_C) 01290 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM", 01291 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01292 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01293 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01294 0 }, 01295 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8", 01296 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01297 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01298 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01299 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01300 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM", 01301 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01302 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01303 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01304 0 }, 01305 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8", 01306 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01307 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01308 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01309 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01310 #endif /* MBEDTLS_CCM_C */ 01311 #endif /* MBEDTLS_AES_C */ 01312 01313 #if defined(MBEDTLS_CAMELLIA_C) 01314 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01315 #if defined(MBEDTLS_SHA256_C) 01316 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01317 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01318 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01319 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01320 0 }, 01321 #endif /* MBEDTLS_SHA256_C */ 01322 01323 #if defined(MBEDTLS_SHA512_C) 01324 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01325 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01326 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01327 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01328 0 }, 01329 #endif /* MBEDTLS_SHA512_C */ 01330 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01331 01332 #if defined(MBEDTLS_GCM_C) 01333 #if defined(MBEDTLS_SHA256_C) 01334 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01335 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 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_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01343 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01344 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01345 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01346 0 }, 01347 #endif /* MBEDTLS_SHA512_C */ 01348 #endif /* MBEDTLS_GCM_C */ 01349 #endif /* MBEDTLS_CAMELLIA_C */ 01350 01351 #if defined(MBEDTLS_DES_C) 01352 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01353 #if defined(MBEDTLS_SHA1_C) 01354 { MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA", 01355 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01356 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01357 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01358 0 }, 01359 #endif /* MBEDTLS_SHA1_C */ 01360 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01361 #endif /* MBEDTLS_DES_C */ 01362 01363 #if defined(MBEDTLS_ARC4_C) 01364 #if defined(MBEDTLS_SHA1_C) 01365 { MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA", 01366 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01367 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01368 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01369 MBEDTLS_CIPHERSUITE_NODTLS }, 01370 #endif /* MBEDTLS_SHA1_C */ 01371 #endif /* MBEDTLS_ARC4_C */ 01372 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 01373 01374 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 01375 #if defined(MBEDTLS_AES_C) 01376 01377 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01378 #if defined(MBEDTLS_SHA256_C) 01379 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", 01380 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01381 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01382 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01383 0 }, 01384 #endif /* MBEDTLS_SHA256_C */ 01385 01386 #if defined(MBEDTLS_SHA512_C) 01387 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", 01388 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01389 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01390 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01391 0 }, 01392 #endif /* MBEDTLS_SHA512_C */ 01393 01394 #if defined(MBEDTLS_SHA1_C) 01395 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", 01396 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01397 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01398 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01399 0 }, 01400 01401 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA", 01402 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01403 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01404 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01405 0 }, 01406 #endif /* MBEDTLS_SHA1_C */ 01407 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01408 #endif /* MBEDTLS_AES_C */ 01409 01410 #if defined(MBEDTLS_CAMELLIA_C) 01411 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01412 #if defined(MBEDTLS_SHA256_C) 01413 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01414 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01415 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01416 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01417 0 }, 01418 #endif /* MBEDTLS_SHA256_C */ 01419 01420 #if defined(MBEDTLS_SHA512_C) 01421 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01422 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01423 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01424 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01425 0 }, 01426 #endif /* MBEDTLS_SHA512_C */ 01427 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01428 #endif /* MBEDTLS_CAMELLIA_C */ 01429 01430 #if defined(MBEDTLS_DES_C) 01431 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01432 #if defined(MBEDTLS_SHA1_C) 01433 { MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA", 01434 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01435 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01436 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01437 0 }, 01438 #endif /* MBEDTLS_SHA1_C */ 01439 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01440 #endif /* MBEDTLS_DES_C */ 01441 01442 #if defined(MBEDTLS_ARC4_C) 01443 #if defined(MBEDTLS_SHA1_C) 01444 { MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA", 01445 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01446 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01447 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01448 MBEDTLS_CIPHERSUITE_NODTLS }, 01449 #endif /* MBEDTLS_SHA1_C */ 01450 #endif /* MBEDTLS_ARC4_C */ 01451 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 01452 01453 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 01454 #if defined(MBEDTLS_AES_C) 01455 #if defined(MBEDTLS_GCM_C) 01456 #if defined(MBEDTLS_SHA256_C) 01457 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", 01458 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01459 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01460 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01461 0 }, 01462 #endif /* MBEDTLS_SHA256_C */ 01463 01464 #if defined(MBEDTLS_SHA512_C) 01465 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", 01466 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01468 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01469 0 }, 01470 #endif /* MBEDTLS_SHA512_C */ 01471 #endif /* MBEDTLS_GCM_C */ 01472 01473 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01474 #if defined(MBEDTLS_SHA256_C) 01475 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", 01476 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01477 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01478 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01479 0 }, 01480 #endif /* MBEDTLS_SHA256_C */ 01481 01482 #if defined(MBEDTLS_SHA512_C) 01483 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", 01484 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01485 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01486 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01487 0 }, 01488 #endif /* MBEDTLS_SHA512_C */ 01489 01490 #if defined(MBEDTLS_SHA1_C) 01491 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", 01492 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01493 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01494 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01495 0 }, 01496 01497 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA", 01498 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01499 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01500 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01501 0 }, 01502 #endif /* MBEDTLS_SHA1_C */ 01503 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01504 #endif /* MBEDTLS_AES_C */ 01505 01506 #if defined(MBEDTLS_CAMELLIA_C) 01507 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01508 #if defined(MBEDTLS_SHA256_C) 01509 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256", 01510 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01511 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01512 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01513 0 }, 01514 #endif /* MBEDTLS_SHA256_C */ 01515 01516 #if defined(MBEDTLS_SHA512_C) 01517 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384", 01518 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01519 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01520 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01521 0 }, 01522 #endif /* MBEDTLS_SHA512_C */ 01523 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01524 01525 #if defined(MBEDTLS_GCM_C) 01526 #if defined(MBEDTLS_SHA256_C) 01527 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256", 01528 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01529 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01530 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01531 0 }, 01532 #endif /* MBEDTLS_SHA256_C */ 01533 01534 #if defined(MBEDTLS_SHA512_C) 01535 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384", 01536 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01537 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01538 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01539 0 }, 01540 #endif /* MBEDTLS_SHA512_C */ 01541 #endif /* MBEDTLS_GCM_C */ 01542 #endif /* MBEDTLS_CAMELLIA_C */ 01543 01544 #if defined(MBEDTLS_DES_C) 01545 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01546 #if defined(MBEDTLS_SHA1_C) 01547 { MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA", 01548 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01549 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01550 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01551 0 }, 01552 #endif /* MBEDTLS_SHA1_C */ 01553 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01554 #endif /* MBEDTLS_DES_C */ 01555 01556 #if defined(MBEDTLS_ARC4_C) 01557 #if defined(MBEDTLS_SHA1_C) 01558 { MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA", 01559 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01560 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01561 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01562 MBEDTLS_CIPHERSUITE_NODTLS }, 01563 #endif /* MBEDTLS_SHA1_C */ 01564 #endif /* MBEDTLS_ARC4_C */ 01565 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 01566 01567 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) 01568 #if defined(MBEDTLS_AES_C) 01569 #if defined(MBEDTLS_CCM_C) 01570 { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8", 01571 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE, 01572 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01573 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01574 MBEDTLS_CIPHERSUITE_SHORT_TAG }, 01575 #endif /* MBEDTLS_CCM_C */ 01576 #endif /* MBEDTLS_AES_C */ 01577 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */ 01578 01579 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES) 01580 #if defined(MBEDTLS_CIPHER_NULL_CIPHER) 01581 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 01582 #if defined(MBEDTLS_MD5_C) 01583 { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5", 01584 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA, 01585 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01586 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01587 MBEDTLS_CIPHERSUITE_WEAK }, 01588 #endif 01589 01590 #if defined(MBEDTLS_SHA1_C) 01591 { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA", 01592 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 01593 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01594 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01595 MBEDTLS_CIPHERSUITE_WEAK }, 01596 #endif 01597 01598 #if defined(MBEDTLS_SHA256_C) 01599 { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256", 01600 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 01601 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01602 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01603 MBEDTLS_CIPHERSUITE_WEAK }, 01604 #endif 01605 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 01606 01607 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 01608 #if defined(MBEDTLS_SHA1_C) 01609 { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA", 01610 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK, 01611 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01612 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01613 MBEDTLS_CIPHERSUITE_WEAK }, 01614 #endif /* MBEDTLS_SHA1_C */ 01615 01616 #if defined(MBEDTLS_SHA256_C) 01617 { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256", 01618 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01619 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01620 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01621 MBEDTLS_CIPHERSUITE_WEAK }, 01622 #endif 01623 01624 #if defined(MBEDTLS_SHA512_C) 01625 { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384", 01626 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01627 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01628 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01629 MBEDTLS_CIPHERSUITE_WEAK }, 01630 #endif 01631 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 01632 01633 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 01634 #if defined(MBEDTLS_SHA1_C) 01635 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA", 01636 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01637 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01638 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01639 MBEDTLS_CIPHERSUITE_WEAK }, 01640 #endif /* MBEDTLS_SHA1_C */ 01641 01642 #if defined(MBEDTLS_SHA256_C) 01643 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256", 01644 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01645 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01646 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01647 MBEDTLS_CIPHERSUITE_WEAK }, 01648 #endif 01649 01650 #if defined(MBEDTLS_SHA512_C) 01651 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384", 01652 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 01653 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01654 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01655 MBEDTLS_CIPHERSUITE_WEAK }, 01656 #endif 01657 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 01658 01659 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 01660 #if defined(MBEDTLS_SHA1_C) 01661 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA", 01662 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01663 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01664 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01665 MBEDTLS_CIPHERSUITE_WEAK }, 01666 #endif /* MBEDTLS_SHA1_C */ 01667 01668 #if defined(MBEDTLS_SHA256_C) 01669 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256", 01670 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01671 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01672 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01673 MBEDTLS_CIPHERSUITE_WEAK }, 01674 #endif 01675 01676 #if defined(MBEDTLS_SHA512_C) 01677 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384", 01678 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01679 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01680 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01681 MBEDTLS_CIPHERSUITE_WEAK }, 01682 #endif 01683 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 01684 01685 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 01686 #if defined(MBEDTLS_SHA1_C) 01687 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA", 01688 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01689 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01690 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01691 MBEDTLS_CIPHERSUITE_WEAK }, 01692 #endif /* MBEDTLS_SHA1_C */ 01693 01694 #if defined(MBEDTLS_SHA256_C) 01695 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256", 01696 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01697 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01698 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01699 MBEDTLS_CIPHERSUITE_WEAK }, 01700 #endif 01701 01702 #if defined(MBEDTLS_SHA512_C) 01703 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384", 01704 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01705 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1, 01706 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01707 MBEDTLS_CIPHERSUITE_WEAK }, 01708 #endif 01709 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 01710 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */ 01711 01712 #if defined(MBEDTLS_DES_C) 01713 #if defined(MBEDTLS_CIPHER_MODE_CBC) 01714 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 01715 #if defined(MBEDTLS_SHA1_C) 01716 { MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA", 01717 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 01718 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01719 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01720 MBEDTLS_CIPHERSUITE_WEAK }, 01721 #endif /* MBEDTLS_SHA1_C */ 01722 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 01723 01724 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 01725 #if defined(MBEDTLS_SHA1_C) 01726 { MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA", 01727 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, 01728 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0, 01729 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01730 MBEDTLS_CIPHERSUITE_WEAK }, 01731 #endif /* MBEDTLS_SHA1_C */ 01732 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 01733 #endif /* MBEDTLS_CIPHER_MODE_CBC */ 01734 #endif /* MBEDTLS_DES_C */ 01735 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */ 01736 01737 #if defined(MBEDTLS_ARIA_C) 01738 01739 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) 01740 01741 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01742 { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384, 01743 "TLS-RSA-WITH-ARIA-256-GCM-SHA384", 01744 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 01745 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01746 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01747 0 }, 01748 #endif 01749 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01750 { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384, 01751 "TLS-RSA-WITH-ARIA-256-CBC-SHA384", 01752 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, 01753 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01754 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01755 0 }, 01756 #endif 01757 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01758 { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256, 01759 "TLS-RSA-WITH-ARIA-128-GCM-SHA256", 01760 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 01761 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01762 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01763 0 }, 01764 #endif 01765 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01766 { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256, 01767 "TLS-RSA-WITH-ARIA-128-CBC-SHA256", 01768 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, 01769 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01770 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01771 0 }, 01772 #endif 01773 01774 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ 01775 01776 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) 01777 01778 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01779 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, 01780 "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384", 01781 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01782 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01783 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01784 0 }, 01785 #endif 01786 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01787 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, 01788 "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384", 01789 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01790 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01791 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01792 0 }, 01793 #endif 01794 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01795 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, 01796 "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256", 01797 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01798 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01799 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01800 0 }, 01801 #endif 01802 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01803 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, 01804 "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256", 01805 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK, 01806 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01807 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01808 0 }, 01809 #endif 01810 01811 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */ 01812 01813 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) 01814 01815 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01816 { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384, 01817 "TLS-PSK-WITH-ARIA-256-GCM-SHA384", 01818 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384,MBEDTLS_KEY_EXCHANGE_PSK, 01819 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01820 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01821 0 }, 01822 #endif 01823 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01824 { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384, 01825 "TLS-PSK-WITH-ARIA-256-CBC-SHA384", 01826 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, 01827 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01828 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01829 0 }, 01830 #endif 01831 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01832 { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256, 01833 "TLS-PSK-WITH-ARIA-128-GCM-SHA256", 01834 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01835 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01836 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01837 0 }, 01838 #endif 01839 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01840 { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256, 01841 "TLS-PSK-WITH-ARIA-128-CBC-SHA256", 01842 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, 01843 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01844 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01845 0 }, 01846 #endif 01847 01848 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ 01849 01850 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) 01851 01852 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01853 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, 01854 "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384", 01855 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 01856 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01857 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01858 0 }, 01859 #endif 01860 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01861 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, 01862 "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384", 01863 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 01864 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01865 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01866 0 }, 01867 #endif 01868 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01869 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, 01870 "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256", 01871 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 01872 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01873 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01874 0 }, 01875 #endif 01876 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01877 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, 01878 "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256", 01879 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA, 01880 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01881 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01882 0 }, 01883 #endif 01884 01885 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */ 01886 01887 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) 01888 01889 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01890 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384, 01891 "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384", 01892 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 01893 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01894 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01895 0 }, 01896 #endif 01897 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01898 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, 01899 "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384", 01900 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 01901 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01902 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01903 0 }, 01904 #endif 01905 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01906 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256, 01907 "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256", 01908 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 01909 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01910 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01911 0 }, 01912 #endif 01913 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01914 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, 01915 "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256", 01916 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, 01917 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01918 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01919 0 }, 01920 #endif 01921 01922 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */ 01923 01924 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) 01925 01926 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01927 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, 01928 "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384", 01929 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01930 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01931 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01932 0 }, 01933 #endif 01934 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01935 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, 01936 "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256", 01937 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, 01938 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01939 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01940 0 }, 01941 #endif 01942 01943 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ 01944 01945 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) 01946 01947 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01948 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384, 01949 "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384", 01950 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 01951 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01952 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01953 0 }, 01954 #endif 01955 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01956 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, 01957 "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384", 01958 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 01959 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01960 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01961 0 }, 01962 #endif 01963 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 01964 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256, 01965 "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256", 01966 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 01967 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01968 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01969 0 }, 01970 #endif 01971 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 01972 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, 01973 "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256", 01974 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, 01975 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01976 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01977 0 }, 01978 #endif 01979 01980 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */ 01981 01982 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) 01983 01984 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 01985 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, 01986 "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384", 01987 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01988 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01989 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01990 0 }, 01991 #endif 01992 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 01993 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, 01994 "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384", 01995 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 01996 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01997 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 01998 0 }, 01999 #endif 02000 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 02001 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, 02002 "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256", 02003 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 02004 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02005 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02006 0 }, 02007 #endif 02008 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 02009 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, 02010 "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256", 02011 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, 02012 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02013 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02014 0 }, 02015 #endif 02016 02017 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */ 02018 02019 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) 02020 02021 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 02022 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384, 02023 "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384", 02024 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 02025 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02026 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02027 0 }, 02028 #endif 02029 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 02030 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, 02031 "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384", 02032 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 02033 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02034 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02035 0 }, 02036 #endif 02037 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 02038 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256, 02039 "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256", 02040 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 02041 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02042 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02043 0 }, 02044 #endif 02045 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 02046 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, 02047 "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256", 02048 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA, 02049 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02050 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02051 0 }, 02052 #endif 02053 02054 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */ 02055 02056 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) 02057 02058 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C)) 02059 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384, 02060 "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384", 02061 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 02062 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02063 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02064 0 }, 02065 #endif 02066 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C)) 02067 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, 02068 "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384", 02069 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 02070 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02071 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02072 0 }, 02073 #endif 02074 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C)) 02075 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256, 02076 "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256", 02077 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 02078 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02079 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02080 0 }, 02081 #endif 02082 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C)) 02083 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, 02084 "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256", 02085 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK, 02086 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02087 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 02088 0 }, 02089 #endif 02090 02091 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ 02092 02093 #endif /* MBEDTLS_ARIA_C */ 02094 02095 02096 { 0, "", 02097 MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE, 02098 0, 0, 0, 0, 0 } 02099 }; 02100 02101 #if defined(MBEDTLS_SSL_CIPHERSUITES) 02102 const int *mbedtls_ssl_list_ciphersuites( void ) 02103 { 02104 return( ciphersuite_preference ); 02105 } 02106 #else 02107 #define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \ 02108 sizeof( ciphersuite_definitions[0] ) 02109 static int supported_ciphersuites[MAX_CIPHERSUITES]; 02110 static int supported_init = 0; 02111 02112 const int *mbedtls_ssl_list_ciphersuites( void ) 02113 { 02114 /* 02115 * On initial call filter out all ciphersuites not supported by current 02116 * build based on presence in the ciphersuite_definitions. 02117 */ 02118 if( supported_init == 0 ) 02119 { 02120 const int *p; 02121 int *q; 02122 02123 for( p = ciphersuite_preference, q = supported_ciphersuites; 02124 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1; 02125 p++ ) 02126 { 02127 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES) 02128 const mbedtls_ssl_ciphersuite_t *cs_info; 02129 if( ( cs_info = mbedtls_ssl_ciphersuite_from_id( *p ) ) != NULL && 02130 cs_info->cipher != MBEDTLS_CIPHER_ARC4_128 ) 02131 #else 02132 if( mbedtls_ssl_ciphersuite_from_id( *p ) != NULL ) 02133 #endif 02134 *(q++) = *p; 02135 } 02136 *q = 0; 02137 02138 supported_init = 1; 02139 } 02140 02141 return( supported_ciphersuites ); 02142 } 02143 #endif /* MBEDTLS_SSL_CIPHERSUITES */ 02144 02145 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string( 02146 const char *ciphersuite_name ) 02147 { 02148 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 02149 02150 if( NULL == ciphersuite_name ) 02151 return( NULL ); 02152 02153 while( cur->id != 0 ) 02154 { 02155 if( 0 == strcmp( cur->name, ciphersuite_name ) ) 02156 return( cur ); 02157 02158 cur++; 02159 } 02160 02161 return( NULL ); 02162 } 02163 02164 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite ) 02165 { 02166 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions; 02167 02168 while( cur->id != 0 ) 02169 { 02170 if( cur->id == ciphersuite ) 02171 return( cur ); 02172 02173 cur++; 02174 } 02175 02176 return( NULL ); 02177 } 02178 02179 const char *mbedtls_ssl_get_ciphersuite_name( const int ciphersuite_id ) 02180 { 02181 const mbedtls_ssl_ciphersuite_t *cur; 02182 02183 cur = mbedtls_ssl_ciphersuite_from_id( ciphersuite_id ); 02184 02185 if( cur == NULL ) 02186 return( "unknown" ); 02187 02188 return( cur->name ); 02189 } 02190 02191 int mbedtls_ssl_get_ciphersuite_id( const char *ciphersuite_name ) 02192 { 02193 const mbedtls_ssl_ciphersuite_t *cur; 02194 02195 cur = mbedtls_ssl_ciphersuite_from_string( ciphersuite_name ); 02196 02197 if( cur == NULL ) 02198 return( 0 ); 02199 02200 return( cur->id ); 02201 } 02202 02203 #if defined(MBEDTLS_PK_C) 02204 mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info ) 02205 { 02206 switch( info->key_exchange ) 02207 { 02208 case MBEDTLS_KEY_EXCHANGE_RSA: 02209 case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 02210 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 02211 case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 02212 return( MBEDTLS_PK_RSA ); 02213 02214 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 02215 return( MBEDTLS_PK_ECDSA ); 02216 02217 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 02218 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 02219 return( MBEDTLS_PK_ECKEY ); 02220 02221 default: 02222 return( MBEDTLS_PK_NONE ); 02223 } 02224 } 02225 02226 mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg( const mbedtls_ssl_ciphersuite_t *info ) 02227 { 02228 switch( info->key_exchange ) 02229 { 02230 case MBEDTLS_KEY_EXCHANGE_RSA: 02231 case MBEDTLS_KEY_EXCHANGE_DHE_RSA: 02232 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 02233 return( MBEDTLS_PK_RSA ); 02234 02235 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 02236 return( MBEDTLS_PK_ECDSA ); 02237 02238 default: 02239 return( MBEDTLS_PK_NONE ); 02240 } 02241 } 02242 02243 #endif /* MBEDTLS_PK_C */ 02244 02245 #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) 02246 int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info ) 02247 { 02248 switch( info->key_exchange ) 02249 { 02250 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: 02251 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: 02252 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 02253 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: 02254 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: 02255 return( 1 ); 02256 02257 default: 02258 return( 0 ); 02259 } 02260 } 02261 #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C */ 02262 02263 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED) 02264 int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info ) 02265 { 02266 switch( info->key_exchange ) 02267 { 02268 case MBEDTLS_KEY_EXCHANGE_PSK: 02269 case MBEDTLS_KEY_EXCHANGE_RSA_PSK: 02270 case MBEDTLS_KEY_EXCHANGE_DHE_PSK: 02271 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: 02272 return( 1 ); 02273 02274 default: 02275 return( 0 ); 02276 } 02277 } 02278 #endif /* MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED */ 02279 02280 #endif /* MBEDTLS_SSL_TLS_C */
Generated on Tue Jul 12 2022 12:45:48 by
