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.
mbed-os/features/mbedtls/inc/mbedtls/ssl_ciphersuites.h@0:8fdf9a60065b, 2018-10-10 (annotated)
- Committer:
 - kadonotakashi
 - Date:
 - Wed Oct 10 00:33:53 2018 +0000
 - Revision:
 - 0:8fdf9a60065b
 
how to make mbed librry
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| kadonotakashi | 0:8fdf9a60065b | 1 | /** | 
| kadonotakashi | 0:8fdf9a60065b | 2 | * \file ssl_ciphersuites.h | 
| kadonotakashi | 0:8fdf9a60065b | 3 | * | 
| kadonotakashi | 0:8fdf9a60065b | 4 | * \brief SSL Ciphersuites for mbed TLS | 
| kadonotakashi | 0:8fdf9a60065b | 5 | */ | 
| kadonotakashi | 0:8fdf9a60065b | 6 | /* | 
| kadonotakashi | 0:8fdf9a60065b | 7 | * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved | 
| kadonotakashi | 0:8fdf9a60065b | 8 | * SPDX-License-Identifier: Apache-2.0 | 
| kadonotakashi | 0:8fdf9a60065b | 9 | * | 
| kadonotakashi | 0:8fdf9a60065b | 10 | * Licensed under the Apache License, Version 2.0 (the "License"); you may | 
| kadonotakashi | 0:8fdf9a60065b | 11 | * not use this file except in compliance with the License. | 
| kadonotakashi | 0:8fdf9a60065b | 12 | * You may obtain a copy of the License at | 
| kadonotakashi | 0:8fdf9a60065b | 13 | * | 
| kadonotakashi | 0:8fdf9a60065b | 14 | * http://www.apache.org/licenses/LICENSE-2.0 | 
| kadonotakashi | 0:8fdf9a60065b | 15 | * | 
| kadonotakashi | 0:8fdf9a60065b | 16 | * Unless required by applicable law or agreed to in writing, software | 
| kadonotakashi | 0:8fdf9a60065b | 17 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | 
| kadonotakashi | 0:8fdf9a60065b | 18 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
| kadonotakashi | 0:8fdf9a60065b | 19 | * See the License for the specific language governing permissions and | 
| kadonotakashi | 0:8fdf9a60065b | 20 | * limitations under the License. | 
| kadonotakashi | 0:8fdf9a60065b | 21 | * | 
| kadonotakashi | 0:8fdf9a60065b | 22 | * This file is part of mbed TLS (https://tls.mbed.org) | 
| kadonotakashi | 0:8fdf9a60065b | 23 | */ | 
| kadonotakashi | 0:8fdf9a60065b | 24 | #ifndef MBEDTLS_SSL_CIPHERSUITES_H | 
| kadonotakashi | 0:8fdf9a60065b | 25 | #define MBEDTLS_SSL_CIPHERSUITES_H | 
| kadonotakashi | 0:8fdf9a60065b | 26 | |
| kadonotakashi | 0:8fdf9a60065b | 27 | #include "pk.h" | 
| kadonotakashi | 0:8fdf9a60065b | 28 | #include "cipher.h" | 
| kadonotakashi | 0:8fdf9a60065b | 29 | #include "md.h" | 
| kadonotakashi | 0:8fdf9a60065b | 30 | |
| kadonotakashi | 0:8fdf9a60065b | 31 | #ifdef __cplusplus | 
| kadonotakashi | 0:8fdf9a60065b | 32 | extern "C" { | 
| kadonotakashi | 0:8fdf9a60065b | 33 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 34 | |
| kadonotakashi | 0:8fdf9a60065b | 35 | /* | 
| kadonotakashi | 0:8fdf9a60065b | 36 | * Supported ciphersuites (Official IANA names) | 
| kadonotakashi | 0:8fdf9a60065b | 37 | */ | 
| kadonotakashi | 0:8fdf9a60065b | 38 | #define MBEDTLS_TLS_RSA_WITH_NULL_MD5 0x01 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 39 | #define MBEDTLS_TLS_RSA_WITH_NULL_SHA 0x02 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 40 | |
| kadonotakashi | 0:8fdf9a60065b | 41 | #define MBEDTLS_TLS_RSA_WITH_RC4_128_MD5 0x04 | 
| kadonotakashi | 0:8fdf9a60065b | 42 | #define MBEDTLS_TLS_RSA_WITH_RC4_128_SHA 0x05 | 
| kadonotakashi | 0:8fdf9a60065b | 43 | #define MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA 0x09 /**< Weak! Not in TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 44 | |
| kadonotakashi | 0:8fdf9a60065b | 45 | #define MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA 0x0A | 
| kadonotakashi | 0:8fdf9a60065b | 46 | |
| kadonotakashi | 0:8fdf9a60065b | 47 | #define MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA 0x15 /**< Weak! Not in TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 48 | #define MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0x16 | 
| kadonotakashi | 0:8fdf9a60065b | 49 | |
| kadonotakashi | 0:8fdf9a60065b | 50 | #define MBEDTLS_TLS_PSK_WITH_NULL_SHA 0x2C /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 51 | #define MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA 0x2D /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 52 | #define MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA 0x2E /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 53 | #define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA 0x2F | 
| kadonotakashi | 0:8fdf9a60065b | 54 | |
| kadonotakashi | 0:8fdf9a60065b | 55 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x33 | 
| kadonotakashi | 0:8fdf9a60065b | 56 | #define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA 0x35 | 
| kadonotakashi | 0:8fdf9a60065b | 57 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x39 | 
| kadonotakashi | 0:8fdf9a60065b | 58 | |
| kadonotakashi | 0:8fdf9a60065b | 59 | #define MBEDTLS_TLS_RSA_WITH_NULL_SHA256 0x3B /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 60 | #define MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256 0x3C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 61 | #define MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 0x3D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 62 | |
| kadonotakashi | 0:8fdf9a60065b | 63 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0x41 | 
| kadonotakashi | 0:8fdf9a60065b | 64 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x45 | 
| kadonotakashi | 0:8fdf9a60065b | 65 | |
| kadonotakashi | 0:8fdf9a60065b | 66 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x67 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 67 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x6B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 68 | |
| kadonotakashi | 0:8fdf9a60065b | 69 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0x84 | 
| kadonotakashi | 0:8fdf9a60065b | 70 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x88 | 
| kadonotakashi | 0:8fdf9a60065b | 71 | |
| kadonotakashi | 0:8fdf9a60065b | 72 | #define MBEDTLS_TLS_PSK_WITH_RC4_128_SHA 0x8A | 
| kadonotakashi | 0:8fdf9a60065b | 73 | #define MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA 0x8B | 
| kadonotakashi | 0:8fdf9a60065b | 74 | #define MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA 0x8C | 
| kadonotakashi | 0:8fdf9a60065b | 75 | #define MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA 0x8D | 
| kadonotakashi | 0:8fdf9a60065b | 76 | |
| kadonotakashi | 0:8fdf9a60065b | 77 | #define MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA 0x8E | 
| kadonotakashi | 0:8fdf9a60065b | 78 | #define MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x8F | 
| kadonotakashi | 0:8fdf9a60065b | 79 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA 0x90 | 
| kadonotakashi | 0:8fdf9a60065b | 80 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA 0x91 | 
| kadonotakashi | 0:8fdf9a60065b | 81 | |
| kadonotakashi | 0:8fdf9a60065b | 82 | #define MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA 0x92 | 
| kadonotakashi | 0:8fdf9a60065b | 83 | #define MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x93 | 
| kadonotakashi | 0:8fdf9a60065b | 84 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA 0x94 | 
| kadonotakashi | 0:8fdf9a60065b | 85 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA 0x95 | 
| kadonotakashi | 0:8fdf9a60065b | 86 | |
| kadonotakashi | 0:8fdf9a60065b | 87 | #define MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256 0x9C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 88 | #define MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384 0x9D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 89 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 0x9E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 90 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 0x9F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 91 | |
| kadonotakashi | 0:8fdf9a60065b | 92 | #define MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256 0xA8 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 93 | #define MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384 0xA9 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 94 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 0xAA /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 95 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 0xAB /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 96 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 0xAC /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 97 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 0xAD /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 98 | |
| kadonotakashi | 0:8fdf9a60065b | 99 | #define MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256 0xAE | 
| kadonotakashi | 0:8fdf9a60065b | 100 | #define MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384 0xAF | 
| kadonotakashi | 0:8fdf9a60065b | 101 | #define MBEDTLS_TLS_PSK_WITH_NULL_SHA256 0xB0 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 102 | #define MBEDTLS_TLS_PSK_WITH_NULL_SHA384 0xB1 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 103 | |
| kadonotakashi | 0:8fdf9a60065b | 104 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 0xB2 | 
| kadonotakashi | 0:8fdf9a60065b | 105 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 0xB3 | 
| kadonotakashi | 0:8fdf9a60065b | 106 | #define MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256 0xB4 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 107 | #define MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384 0xB5 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 108 | |
| kadonotakashi | 0:8fdf9a60065b | 109 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 0xB6 | 
| kadonotakashi | 0:8fdf9a60065b | 110 | #define MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 0xB7 | 
| kadonotakashi | 0:8fdf9a60065b | 111 | #define MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256 0xB8 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 112 | #define MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384 0xB9 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 113 | |
| kadonotakashi | 0:8fdf9a60065b | 114 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBA /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 115 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBE /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 116 | |
| kadonotakashi | 0:8fdf9a60065b | 117 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC0 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 118 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC4 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 119 | |
| kadonotakashi | 0:8fdf9a60065b | 120 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA 0xC001 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 121 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA 0xC002 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 122 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC003 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 123 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0xC004 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 124 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0xC005 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 125 | |
| kadonotakashi | 0:8fdf9a60065b | 126 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA 0xC006 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 127 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 0xC007 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 128 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC008 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 129 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0xC009 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 130 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0xC00A /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 131 | |
| kadonotakashi | 0:8fdf9a60065b | 132 | #define MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA 0xC00B /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 133 | #define MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA 0xC00C /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 134 | #define MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 0xC00D /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 135 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 0xC00E /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 136 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 0xC00F /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 137 | |
| kadonotakashi | 0:8fdf9a60065b | 138 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA 0xC010 /**< Weak! */ | 
| kadonotakashi | 0:8fdf9a60065b | 139 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA 0xC011 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 140 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 0xC012 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 141 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 0xC013 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 142 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 0xC014 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 143 | |
| kadonotakashi | 0:8fdf9a60065b | 144 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 0xC023 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 145 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 0xC024 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 146 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 0xC025 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 147 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 0xC026 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 148 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 0xC027 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 149 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 0xC028 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 150 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 0xC029 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 151 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 0xC02A /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 152 | |
| kadonotakashi | 0:8fdf9a60065b | 153 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0xC02B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 154 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0xC02C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 155 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0xC02D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 156 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0xC02E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 157 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0xC02F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 158 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0xC030 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 159 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 0xC031 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 160 | #define MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 0xC032 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 161 | |
| kadonotakashi | 0:8fdf9a60065b | 162 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA 0xC033 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 163 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0xC034 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 164 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA 0xC035 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 165 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA 0xC036 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 166 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0xC037 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 167 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0xC038 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 168 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA 0xC039 /**< Weak! No SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 169 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256 0xC03A /**< Weak! No SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 170 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384 0xC03B /**< Weak! No SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 171 | |
| kadonotakashi | 0:8fdf9a60065b | 172 | #define MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256 0xC03C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 173 | #define MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384 0xC03D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 174 | #define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC044 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 175 | #define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC045 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 176 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC048 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 177 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC049 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 178 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC04A /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 179 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC04B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 180 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC04C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 181 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC04D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 182 | #define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 0xC04E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 183 | #define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 0xC04F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 184 | #define MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256 0xC050 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 185 | #define MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384 0xC051 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 186 | #define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC052 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 187 | #define MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC053 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 188 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 189 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 190 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 191 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 192 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC060 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 193 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC061 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 194 | #define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 0xC062 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 195 | #define MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 0xC063 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 196 | #define MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256 0xC064 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 197 | #define MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384 0xC065 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 198 | #define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC066 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 199 | #define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC067 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 200 | #define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 0xC068 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 201 | #define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 0xC069 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 202 | #define MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256 0xC06A /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 203 | #define MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384 0xC06B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 204 | #define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 0xC06C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 205 | #define MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 0xC06D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 206 | #define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 0xC06E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 207 | #define MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 0xC06F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 208 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC070 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 209 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC071 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 210 | |
| kadonotakashi | 0:8fdf9a60065b | 211 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC072 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 212 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC073 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 213 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC074 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 214 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC075 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 215 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC076 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 216 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC077 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 217 | #define MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC078 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 218 | #define MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC079 /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 219 | |
| kadonotakashi | 0:8fdf9a60065b | 220 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07A /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 221 | #define MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 222 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 223 | #define MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 224 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC086 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 225 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC087 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 226 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC088 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 227 | #define MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC089 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 228 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08A /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 229 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08B /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 230 | #define MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 231 | #define MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 232 | |
| kadonotakashi | 0:8fdf9a60065b | 233 | #define MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC08E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 234 | #define MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC08F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 235 | #define MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC090 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 236 | #define MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC091 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 237 | #define MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC092 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 238 | #define MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC093 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 239 | |
| kadonotakashi | 0:8fdf9a60065b | 240 | #define MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC094 | 
| kadonotakashi | 0:8fdf9a60065b | 241 | #define MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC095 | 
| kadonotakashi | 0:8fdf9a60065b | 242 | #define MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC096 | 
| kadonotakashi | 0:8fdf9a60065b | 243 | #define MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC097 | 
| kadonotakashi | 0:8fdf9a60065b | 244 | #define MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC098 | 
| kadonotakashi | 0:8fdf9a60065b | 245 | #define MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC099 | 
| kadonotakashi | 0:8fdf9a60065b | 246 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC09A /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 247 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC09B /**< Not in SSL3! */ | 
| kadonotakashi | 0:8fdf9a60065b | 248 | |
| kadonotakashi | 0:8fdf9a60065b | 249 | #define MBEDTLS_TLS_RSA_WITH_AES_128_CCM 0xC09C /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 250 | #define MBEDTLS_TLS_RSA_WITH_AES_256_CCM 0xC09D /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 251 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM 0xC09E /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 252 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM 0xC09F /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 253 | #define MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8 0xC0A0 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 254 | #define MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8 0xC0A1 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 255 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8 0xC0A2 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 256 | #define MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8 0xC0A3 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 257 | #define MBEDTLS_TLS_PSK_WITH_AES_128_CCM 0xC0A4 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 258 | #define MBEDTLS_TLS_PSK_WITH_AES_256_CCM 0xC0A5 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 259 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM 0xC0A6 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 260 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM 0xC0A7 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 261 | #define MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8 0xC0A8 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 262 | #define MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8 0xC0A9 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 263 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8 0xC0AA /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 264 | #define MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8 0xC0AB /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 265 | /* The last two are named with PSK_DHE in the RFC, which looks like a typo */ | 
| kadonotakashi | 0:8fdf9a60065b | 266 | |
| kadonotakashi | 0:8fdf9a60065b | 267 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM 0xC0AC /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 268 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM 0xC0AD /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 269 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 0xC0AE /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 270 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 0xC0AF /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 271 | |
| kadonotakashi | 0:8fdf9a60065b | 272 | #define MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 0xC0FF /**< experimental */ | 
| kadonotakashi | 0:8fdf9a60065b | 273 | |
| kadonotakashi | 0:8fdf9a60065b | 274 | /* RFC 7905 */ | 
| kadonotakashi | 0:8fdf9a60065b | 275 | #define MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA8 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 276 | #define MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA9 /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 277 | #define MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCAA /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 278 | #define MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAB /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 279 | #define MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAC /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 280 | #define MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAD /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 281 | #define MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAE /**< TLS 1.2 */ | 
| kadonotakashi | 0:8fdf9a60065b | 282 | |
| kadonotakashi | 0:8fdf9a60065b | 283 | /* Reminder: update mbedtls_ssl_premaster_secret when adding a new key exchange. | 
| kadonotakashi | 0:8fdf9a60065b | 284 | * Reminder: update MBEDTLS_KEY_EXCHANGE__xxx below | 
| kadonotakashi | 0:8fdf9a60065b | 285 | */ | 
| kadonotakashi | 0:8fdf9a60065b | 286 | typedef enum { | 
| kadonotakashi | 0:8fdf9a60065b | 287 | MBEDTLS_KEY_EXCHANGE_NONE = 0, | 
| kadonotakashi | 0:8fdf9a60065b | 288 | MBEDTLS_KEY_EXCHANGE_RSA, | 
| kadonotakashi | 0:8fdf9a60065b | 289 | MBEDTLS_KEY_EXCHANGE_DHE_RSA, | 
| kadonotakashi | 0:8fdf9a60065b | 290 | MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, | 
| kadonotakashi | 0:8fdf9a60065b | 291 | MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, | 
| kadonotakashi | 0:8fdf9a60065b | 292 | MBEDTLS_KEY_EXCHANGE_PSK, | 
| kadonotakashi | 0:8fdf9a60065b | 293 | MBEDTLS_KEY_EXCHANGE_DHE_PSK, | 
| kadonotakashi | 0:8fdf9a60065b | 294 | MBEDTLS_KEY_EXCHANGE_RSA_PSK, | 
| kadonotakashi | 0:8fdf9a60065b | 295 | MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, | 
| kadonotakashi | 0:8fdf9a60065b | 296 | MBEDTLS_KEY_EXCHANGE_ECDH_RSA, | 
| kadonotakashi | 0:8fdf9a60065b | 297 | MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, | 
| kadonotakashi | 0:8fdf9a60065b | 298 | MBEDTLS_KEY_EXCHANGE_ECJPAKE, | 
| kadonotakashi | 0:8fdf9a60065b | 299 | } mbedtls_key_exchange_type_t; | 
| kadonotakashi | 0:8fdf9a60065b | 300 | |
| kadonotakashi | 0:8fdf9a60065b | 301 | /* Key exchanges using a certificate */ | 
| kadonotakashi | 0:8fdf9a60065b | 302 | #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 303 | defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 304 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 305 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 306 | defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 307 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 308 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 309 | #define MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 310 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 311 | |
| kadonotakashi | 0:8fdf9a60065b | 312 | /* Key exchanges allowing client certificate requests */ | 
| kadonotakashi | 0:8fdf9a60065b | 313 | #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 314 | defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 315 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 316 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 317 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 318 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 319 | #define MBEDTLS_KEY_EXCHANGE__CERT_REQ_ALLOWED__ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 320 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 321 | |
| kadonotakashi | 0:8fdf9a60065b | 322 | /* Key exchanges involving server signature in ServerKeyExchange */ | 
| kadonotakashi | 0:8fdf9a60065b | 323 | #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 324 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 325 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 326 | #define MBEDTLS_KEY_EXCHANGE__WITH_SERVER_SIGNATURE__ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 327 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 328 | |
| kadonotakashi | 0:8fdf9a60065b | 329 | /* Key exchanges using ECDH */ | 
| kadonotakashi | 0:8fdf9a60065b | 330 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 331 | defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 332 | #define MBEDTLS_KEY_EXCHANGE__SOME__ECDH_ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 333 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 334 | |
| kadonotakashi | 0:8fdf9a60065b | 335 | /* Key exchanges that don't involve ephemeral keys */ | 
| kadonotakashi | 0:8fdf9a60065b | 336 | #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 337 | defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 338 | defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 339 | defined(MBEDTLS_KEY_EXCHANGE__SOME__ECDH_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 340 | #define MBEDTLS_KEY_EXCHANGE__SOME_NON_PFS__ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 341 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 342 | |
| kadonotakashi | 0:8fdf9a60065b | 343 | /* Key exchanges that involve ephemeral keys */ | 
| kadonotakashi | 0:8fdf9a60065b | 344 | #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 345 | defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 346 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 347 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 348 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 349 | defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 350 | #define MBEDTLS_KEY_EXCHANGE__SOME_PFS__ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 351 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 352 | |
| kadonotakashi | 0:8fdf9a60065b | 353 | /* Key exchanges using a PSK */ | 
| kadonotakashi | 0:8fdf9a60065b | 354 | #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 355 | defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 356 | defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 357 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 358 | #define MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 359 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 360 | |
| kadonotakashi | 0:8fdf9a60065b | 361 | /* Key exchanges using DHE */ | 
| kadonotakashi | 0:8fdf9a60065b | 362 | #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 363 | defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 364 | #define MBEDTLS_KEY_EXCHANGE__SOME__DHE_ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 365 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 366 | |
| kadonotakashi | 0:8fdf9a60065b | 367 | /* Key exchanges using ECDHE */ | 
| kadonotakashi | 0:8fdf9a60065b | 368 | #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 369 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \ | 
| kadonotakashi | 0:8fdf9a60065b | 370 | defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 371 | #define MBEDTLS_KEY_EXCHANGE__SOME__ECDHE_ENABLED | 
| kadonotakashi | 0:8fdf9a60065b | 372 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 373 | |
| kadonotakashi | 0:8fdf9a60065b | 374 | typedef struct mbedtls_ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t; | 
| kadonotakashi | 0:8fdf9a60065b | 375 | |
| kadonotakashi | 0:8fdf9a60065b | 376 | #define MBEDTLS_CIPHERSUITE_WEAK 0x01 /**< Weak ciphersuite flag */ | 
| kadonotakashi | 0:8fdf9a60065b | 377 | #define MBEDTLS_CIPHERSUITE_SHORT_TAG 0x02 /**< Short authentication tag, | 
| kadonotakashi | 0:8fdf9a60065b | 378 | eg for CCM_8 */ | 
| kadonotakashi | 0:8fdf9a60065b | 379 | #define MBEDTLS_CIPHERSUITE_NODTLS 0x04 /**< Can't be used with DTLS */ | 
| kadonotakashi | 0:8fdf9a60065b | 380 | |
| kadonotakashi | 0:8fdf9a60065b | 381 | /** | 
| kadonotakashi | 0:8fdf9a60065b | 382 | * \brief This structure is used for storing ciphersuite information | 
| kadonotakashi | 0:8fdf9a60065b | 383 | */ | 
| kadonotakashi | 0:8fdf9a60065b | 384 | struct mbedtls_ssl_ciphersuite_t | 
| kadonotakashi | 0:8fdf9a60065b | 385 | { | 
| kadonotakashi | 0:8fdf9a60065b | 386 | int id; | 
| kadonotakashi | 0:8fdf9a60065b | 387 | const char * name; | 
| kadonotakashi | 0:8fdf9a60065b | 388 | |
| kadonotakashi | 0:8fdf9a60065b | 389 | mbedtls_cipher_type_t cipher; | 
| kadonotakashi | 0:8fdf9a60065b | 390 | mbedtls_md_type_t mac; | 
| kadonotakashi | 0:8fdf9a60065b | 391 | mbedtls_key_exchange_type_t key_exchange; | 
| kadonotakashi | 0:8fdf9a60065b | 392 | |
| kadonotakashi | 0:8fdf9a60065b | 393 | int min_major_ver; | 
| kadonotakashi | 0:8fdf9a60065b | 394 | int min_minor_ver; | 
| kadonotakashi | 0:8fdf9a60065b | 395 | int max_major_ver; | 
| kadonotakashi | 0:8fdf9a60065b | 396 | int max_minor_ver; | 
| kadonotakashi | 0:8fdf9a60065b | 397 | |
| kadonotakashi | 0:8fdf9a60065b | 398 | unsigned char flags; | 
| kadonotakashi | 0:8fdf9a60065b | 399 | }; | 
| kadonotakashi | 0:8fdf9a60065b | 400 | |
| kadonotakashi | 0:8fdf9a60065b | 401 | const int *mbedtls_ssl_list_ciphersuites( void ); | 
| kadonotakashi | 0:8fdf9a60065b | 402 | |
| kadonotakashi | 0:8fdf9a60065b | 403 | const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string( const char *ciphersuite_name ); | 
| kadonotakashi | 0:8fdf9a60065b | 404 | const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite_id ); | 
| kadonotakashi | 0:8fdf9a60065b | 405 | |
| kadonotakashi | 0:8fdf9a60065b | 406 | #if defined(MBEDTLS_PK_C) | 
| kadonotakashi | 0:8fdf9a60065b | 407 | mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info ); | 
| kadonotakashi | 0:8fdf9a60065b | 408 | mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg( const mbedtls_ssl_ciphersuite_t *info ); | 
| kadonotakashi | 0:8fdf9a60065b | 409 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 410 | |
| kadonotakashi | 0:8fdf9a60065b | 411 | int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info ); | 
| kadonotakashi | 0:8fdf9a60065b | 412 | int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info ); | 
| kadonotakashi | 0:8fdf9a60065b | 413 | |
| kadonotakashi | 0:8fdf9a60065b | 414 | #if defined(MBEDTLS_KEY_EXCHANGE__SOME_PFS__ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 415 | static inline int mbedtls_ssl_ciphersuite_has_pfs( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 416 | { | 
| kadonotakashi | 0:8fdf9a60065b | 417 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 418 | { | 
| kadonotakashi | 0:8fdf9a60065b | 419 | case MBEDTLS_KEY_EXCHANGE_DHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 420 | case MBEDTLS_KEY_EXCHANGE_DHE_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 421 | case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 422 | case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 423 | case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 424 | case MBEDTLS_KEY_EXCHANGE_ECJPAKE: | 
| kadonotakashi | 0:8fdf9a60065b | 425 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 426 | |
| kadonotakashi | 0:8fdf9a60065b | 427 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 428 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 429 | } | 
| kadonotakashi | 0:8fdf9a60065b | 430 | } | 
| kadonotakashi | 0:8fdf9a60065b | 431 | #endif /* MBEDTLS_KEY_EXCHANGE__SOME_PFS__ENABLED */ | 
| kadonotakashi | 0:8fdf9a60065b | 432 | |
| kadonotakashi | 0:8fdf9a60065b | 433 | #if defined(MBEDTLS_KEY_EXCHANGE__SOME_NON_PFS__ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 434 | static inline int mbedtls_ssl_ciphersuite_no_pfs( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 435 | { | 
| kadonotakashi | 0:8fdf9a60065b | 436 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 437 | { | 
| kadonotakashi | 0:8fdf9a60065b | 438 | case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 439 | case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 440 | case MBEDTLS_KEY_EXCHANGE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 441 | case MBEDTLS_KEY_EXCHANGE_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 442 | case MBEDTLS_KEY_EXCHANGE_RSA_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 443 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 444 | |
| kadonotakashi | 0:8fdf9a60065b | 445 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 446 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 447 | } | 
| kadonotakashi | 0:8fdf9a60065b | 448 | } | 
| kadonotakashi | 0:8fdf9a60065b | 449 | #endif /* MBEDTLS_KEY_EXCHANGE__SOME_NON_PFS__ENABLED */ | 
| kadonotakashi | 0:8fdf9a60065b | 450 | |
| kadonotakashi | 0:8fdf9a60065b | 451 | #if defined(MBEDTLS_KEY_EXCHANGE__SOME__ECDH_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 452 | static inline int mbedtls_ssl_ciphersuite_uses_ecdh( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 453 | { | 
| kadonotakashi | 0:8fdf9a60065b | 454 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 455 | { | 
| kadonotakashi | 0:8fdf9a60065b | 456 | case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 457 | case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 458 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 459 | |
| kadonotakashi | 0:8fdf9a60065b | 460 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 461 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 462 | } | 
| kadonotakashi | 0:8fdf9a60065b | 463 | } | 
| kadonotakashi | 0:8fdf9a60065b | 464 | #endif /* MBEDTLS_KEY_EXCHANGE__SOME__ECDH_ENABLED */ | 
| kadonotakashi | 0:8fdf9a60065b | 465 | |
| kadonotakashi | 0:8fdf9a60065b | 466 | static inline int mbedtls_ssl_ciphersuite_cert_req_allowed( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 467 | { | 
| kadonotakashi | 0:8fdf9a60065b | 468 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 469 | { | 
| kadonotakashi | 0:8fdf9a60065b | 470 | case MBEDTLS_KEY_EXCHANGE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 471 | case MBEDTLS_KEY_EXCHANGE_DHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 472 | case MBEDTLS_KEY_EXCHANGE_ECDH_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 473 | case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 474 | case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 475 | case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 476 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 477 | |
| kadonotakashi | 0:8fdf9a60065b | 478 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 479 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 480 | } | 
| kadonotakashi | 0:8fdf9a60065b | 481 | } | 
| kadonotakashi | 0:8fdf9a60065b | 482 | |
| kadonotakashi | 0:8fdf9a60065b | 483 | #if defined(MBEDTLS_KEY_EXCHANGE__SOME__DHE_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 484 | static inline int mbedtls_ssl_ciphersuite_uses_dhe( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 485 | { | 
| kadonotakashi | 0:8fdf9a60065b | 486 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 487 | { | 
| kadonotakashi | 0:8fdf9a60065b | 488 | case MBEDTLS_KEY_EXCHANGE_DHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 489 | case MBEDTLS_KEY_EXCHANGE_DHE_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 490 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 491 | |
| kadonotakashi | 0:8fdf9a60065b | 492 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 493 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 494 | } | 
| kadonotakashi | 0:8fdf9a60065b | 495 | } | 
| kadonotakashi | 0:8fdf9a60065b | 496 | #endif /* MBEDTLS_KEY_EXCHANGE__SOME__DHE_ENABLED) */ | 
| kadonotakashi | 0:8fdf9a60065b | 497 | |
| kadonotakashi | 0:8fdf9a60065b | 498 | #if defined(MBEDTLS_KEY_EXCHANGE__SOME__ECDHE_ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 499 | static inline int mbedtls_ssl_ciphersuite_uses_ecdhe( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 500 | { | 
| kadonotakashi | 0:8fdf9a60065b | 501 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 502 | { | 
| kadonotakashi | 0:8fdf9a60065b | 503 | case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 504 | case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 505 | case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK: | 
| kadonotakashi | 0:8fdf9a60065b | 506 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 507 | |
| kadonotakashi | 0:8fdf9a60065b | 508 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 509 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 510 | } | 
| kadonotakashi | 0:8fdf9a60065b | 511 | } | 
| kadonotakashi | 0:8fdf9a60065b | 512 | #endif /* MBEDTLS_KEY_EXCHANGE__SOME__ECDHE_ENABLED) */ | 
| kadonotakashi | 0:8fdf9a60065b | 513 | |
| kadonotakashi | 0:8fdf9a60065b | 514 | #if defined(MBEDTLS_KEY_EXCHANGE__WITH_SERVER_SIGNATURE__ENABLED) | 
| kadonotakashi | 0:8fdf9a60065b | 515 | static inline int mbedtls_ssl_ciphersuite_uses_server_signature( const mbedtls_ssl_ciphersuite_t *info ) | 
| kadonotakashi | 0:8fdf9a60065b | 516 | { | 
| kadonotakashi | 0:8fdf9a60065b | 517 | switch( info->key_exchange ) | 
| kadonotakashi | 0:8fdf9a60065b | 518 | { | 
| kadonotakashi | 0:8fdf9a60065b | 519 | case MBEDTLS_KEY_EXCHANGE_DHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 520 | case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA: | 
| kadonotakashi | 0:8fdf9a60065b | 521 | case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA: | 
| kadonotakashi | 0:8fdf9a60065b | 522 | return( 1 ); | 
| kadonotakashi | 0:8fdf9a60065b | 523 | |
| kadonotakashi | 0:8fdf9a60065b | 524 | default: | 
| kadonotakashi | 0:8fdf9a60065b | 525 | return( 0 ); | 
| kadonotakashi | 0:8fdf9a60065b | 526 | } | 
| kadonotakashi | 0:8fdf9a60065b | 527 | } | 
| kadonotakashi | 0:8fdf9a60065b | 528 | #endif /* MBEDTLS_KEY_EXCHANGE__WITH_SERVER_SIGNATURE__ENABLED */ | 
| kadonotakashi | 0:8fdf9a60065b | 529 | |
| kadonotakashi | 0:8fdf9a60065b | 530 | #ifdef __cplusplus | 
| kadonotakashi | 0:8fdf9a60065b | 531 | } | 
| kadonotakashi | 0:8fdf9a60065b | 532 | #endif | 
| kadonotakashi | 0:8fdf9a60065b | 533 | |
| kadonotakashi | 0:8fdf9a60065b | 534 | #endif /* ssl_ciphersuites.h */ |