27 #ifndef POLARSSL_SSL_CIPHERSUITES_H 28 #define POLARSSL_SSL_CIPHERSUITES_H 41 #define TLS_RSA_WITH_NULL_MD5 0x01 42 #define TLS_RSA_WITH_NULL_SHA 0x02 44 #define TLS_RSA_WITH_RC4_128_MD5 0x04 45 #define TLS_RSA_WITH_RC4_128_SHA 0x05 46 #define TLS_RSA_WITH_DES_CBC_SHA 0x09 48 #define TLS_RSA_WITH_3DES_EDE_CBC_SHA 0x0A 50 #define TLS_DHE_RSA_WITH_DES_CBC_SHA 0x15 51 #define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0x16 53 #define TLS_PSK_WITH_NULL_SHA 0x2C 54 #define TLS_DHE_PSK_WITH_NULL_SHA 0x2D 55 #define TLS_RSA_PSK_WITH_NULL_SHA 0x2E 56 #define TLS_RSA_WITH_AES_128_CBC_SHA 0x2F 58 #define TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x33 59 #define TLS_RSA_WITH_AES_256_CBC_SHA 0x35 60 #define TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x39 62 #define TLS_RSA_WITH_NULL_SHA256 0x3B 63 #define TLS_RSA_WITH_AES_128_CBC_SHA256 0x3C 64 #define TLS_RSA_WITH_AES_256_CBC_SHA256 0x3D 66 #define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0x41 67 #define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x45 69 #define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x67 70 #define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x6B 72 #define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0x84 73 #define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x88 75 #define TLS_PSK_WITH_RC4_128_SHA 0x8A 76 #define TLS_PSK_WITH_3DES_EDE_CBC_SHA 0x8B 77 #define TLS_PSK_WITH_AES_128_CBC_SHA 0x8C 78 #define TLS_PSK_WITH_AES_256_CBC_SHA 0x8D 80 #define TLS_DHE_PSK_WITH_RC4_128_SHA 0x8E 81 #define TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x8F 82 #define TLS_DHE_PSK_WITH_AES_128_CBC_SHA 0x90 83 #define TLS_DHE_PSK_WITH_AES_256_CBC_SHA 0x91 85 #define TLS_RSA_PSK_WITH_RC4_128_SHA 0x92 86 #define TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x93 87 #define TLS_RSA_PSK_WITH_AES_128_CBC_SHA 0x94 88 #define TLS_RSA_PSK_WITH_AES_256_CBC_SHA 0x95 90 #define TLS_RSA_WITH_AES_128_GCM_SHA256 0x9C 91 #define TLS_RSA_WITH_AES_256_GCM_SHA384 0x9D 92 #define TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 0x9E 93 #define TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 0x9F 95 #define TLS_PSK_WITH_AES_128_GCM_SHA256 0xA8 96 #define TLS_PSK_WITH_AES_256_GCM_SHA384 0xA9 97 #define TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 0xAA 98 #define TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 0xAB 99 #define TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 0xAC 100 #define TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 0xAD 102 #define TLS_PSK_WITH_AES_128_CBC_SHA256 0xAE 103 #define TLS_PSK_WITH_AES_256_CBC_SHA384 0xAF 104 #define TLS_PSK_WITH_NULL_SHA256 0xB0 105 #define TLS_PSK_WITH_NULL_SHA384 0xB1 107 #define TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 0xB2 108 #define TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 0xB3 109 #define TLS_DHE_PSK_WITH_NULL_SHA256 0xB4 110 #define TLS_DHE_PSK_WITH_NULL_SHA384 0xB5 112 #define TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 0xB6 113 #define TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 0xB7 114 #define TLS_RSA_PSK_WITH_NULL_SHA256 0xB8 115 #define TLS_RSA_PSK_WITH_NULL_SHA384 0xB9 117 #define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBA 118 #define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xBE 120 #define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC0 121 #define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0xC4 123 #define TLS_ECDH_ECDSA_WITH_NULL_SHA 0xC001 124 #define TLS_ECDH_ECDSA_WITH_RC4_128_SHA 0xC002 125 #define TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC003 126 #define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0xC004 127 #define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0xC005 129 #define TLS_ECDHE_ECDSA_WITH_NULL_SHA 0xC006 130 #define TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 0xC007 131 #define TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC008 132 #define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0xC009 133 #define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0xC00A 135 #define TLS_ECDH_RSA_WITH_NULL_SHA 0xC00B 136 #define TLS_ECDH_RSA_WITH_RC4_128_SHA 0xC00C 137 #define TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 0xC00D 138 #define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 0xC00E 139 #define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 0xC00F 141 #define TLS_ECDHE_RSA_WITH_NULL_SHA 0xC010 142 #define TLS_ECDHE_RSA_WITH_RC4_128_SHA 0xC011 143 #define TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 0xC012 144 #define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 0xC013 145 #define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 0xC014 147 #define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 0xC023 148 #define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 0xC024 149 #define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 0xC025 150 #define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 0xC026 151 #define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 0xC027 152 #define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 0xC028 153 #define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 0xC029 154 #define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 0xC02A 156 #define TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0xC02B 157 #define TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0xC02C 158 #define TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0xC02D 159 #define TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0xC02E 160 #define TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0xC02F 161 #define TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0xC030 162 #define TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 0xC031 163 #define TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 0xC032 165 #define TLS_ECDHE_PSK_WITH_RC4_128_SHA 0xC033 166 #define TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0xC034 167 #define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA 0xC035 168 #define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA 0xC036 169 #define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0xC037 170 #define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0xC038 171 #define TLS_ECDHE_PSK_WITH_NULL_SHA 0xC039 172 #define TLS_ECDHE_PSK_WITH_NULL_SHA256 0xC03A 173 #define TLS_ECDHE_PSK_WITH_NULL_SHA384 0xC03B 175 #define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC072 176 #define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC073 177 #define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC074 178 #define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC075 179 #define TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC076 180 #define TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC077 181 #define TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC078 182 #define TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC079 184 #define TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07A 185 #define TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07B 186 #define TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07C 187 #define TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07D 188 #define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC086 189 #define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC087 190 #define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC088 191 #define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC089 192 #define TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08A 193 #define TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08B 194 #define TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08C 195 #define TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08D 197 #define TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC08E 198 #define TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC08F 199 #define TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC090 200 #define TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC091 201 #define TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC092 202 #define TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC093 204 #define TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC094 205 #define TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC095 206 #define TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC096 207 #define TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC097 208 #define TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC098 209 #define TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC099 210 #define TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC09A 211 #define TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC09B 213 #define TLS_RSA_WITH_AES_128_CCM 0xC09C 214 #define TLS_RSA_WITH_AES_256_CCM 0xC09D 215 #define TLS_DHE_RSA_WITH_AES_128_CCM 0xC09E 216 #define TLS_DHE_RSA_WITH_AES_256_CCM 0xC09F 217 #define TLS_RSA_WITH_AES_128_CCM_8 0xC0A0 218 #define TLS_RSA_WITH_AES_256_CCM_8 0xC0A1 219 #define TLS_DHE_RSA_WITH_AES_128_CCM_8 0xC0A2 220 #define TLS_DHE_RSA_WITH_AES_256_CCM_8 0xC0A3 221 #define TLS_PSK_WITH_AES_128_CCM 0xC0A4 222 #define TLS_PSK_WITH_AES_256_CCM 0xC0A5 223 #define TLS_DHE_PSK_WITH_AES_128_CCM 0xC0A6 224 #define TLS_DHE_PSK_WITH_AES_256_CCM 0xC0A7 225 #define TLS_PSK_WITH_AES_128_CCM_8 0xC0A8 226 #define TLS_PSK_WITH_AES_256_CCM_8 0xC0A9 227 #define TLS_DHE_PSK_WITH_AES_128_CCM_8 0xC0AA 228 #define TLS_DHE_PSK_WITH_AES_256_CCM_8 0xC0AB 231 #define TLS_ECDHE_ECDSA_WITH_AES_128_CCM 0xC0AC 232 #define TLS_ECDHE_ECDSA_WITH_AES_256_CCM 0xC0AD 233 #define TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 0xC0AE 234 #define TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 0xC0AF 253 #define POLARSSL_CIPHERSUITE_WEAK 0x01 254 #define POLARSSL_CIPHERSUITE_SHORT_TAG 0x02 260 struct _ssl_ciphersuite_t 282 #if defined(POLARSSL_PK_C) int ssl_ciphersuite_uses_ec(const ssl_ciphersuite_t *info)
const int * ssl_list_ciphersuites(void)
pk_type_t ssl_get_ciphersuite_sig_pk_alg(const ssl_ciphersuite_t *info)
Public Key abstraction layer.
key_exchange_type_t key_exchange
int ssl_ciphersuite_uses_psk(const ssl_ciphersuite_t *info)
pk_type_t
Public key types.
const ssl_ciphersuite_t * ssl_ciphersuite_from_string(const char *ciphersuite_name)
This structure is used for storing ciphersuite information.
Generic message digest wrapper.
const ssl_ciphersuite_t * ssl_ciphersuite_from_id(int ciphersuite_id)