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