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