tls_cipher_suites.h File Reference

TLS cipher suites. More...

#include "core/crypto.h"
#include "tls.h"

Go to the source code of this file.

Macros

#define TLS_CIPHER_SUITE(identifier, keyExchMethod, cipherAlgo, cipherMode, hashAlgo, prfHashAlgo, macKeyLen, encKeyLen, fixedIvLen, recordIvLen, authTagLen, verifyDataLen)
 

Enumerations

enum  TlsCipherSuite {
  TLS_NULL_WITH_NULL_NULL = 0x0000, TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 0x0003, TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 0x0006, TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0008,
  TLS_RSA_WITH_NULL_MD5 = 0x0001, TLS_RSA_WITH_NULL_SHA = 0x0002, TLS_RSA_WITH_NULL_SHA256 = 0x003B, TLS_RSA_WITH_RC4_128_MD5 = 0x0004,
  TLS_RSA_WITH_RC4_128_SHA = 0x0005, TLS_RSA_WITH_IDEA_CBC_SHA = 0x0007, TLS_RSA_WITH_DES_CBC_SHA = 0x0009, TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000A,
  TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F, TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035, TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C, TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D,
  TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C, TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D, TLS_RSA_WITH_AES_128_CCM = 0xC09C, TLS_RSA_WITH_AES_256_CCM = 0xC09D,
  TLS_RSA_WITH_AES_128_CCM_8 = 0xC0A0, TLS_RSA_WITH_AES_256_CCM_8 = 0xC0A1, TLS_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0041, TLS_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0084,
  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BA, TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C0, TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07A, TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07B,
  TLS_RSA_WITH_SEED_CBC_SHA = 0x0096, TLS_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC03C, TLS_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC03D, TLS_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC050,
  TLS_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC051, TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x000E, TLS_DH_RSA_WITH_DES_CBC_SHA = 0x000F, TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 0x0010,
  TLS_DH_RSA_WITH_AES_128_CBC_SHA = 0x0031, TLS_DH_RSA_WITH_AES_256_CBC_SHA = 0x0037, TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 0x003F, TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 0x0069,
  TLS_DH_RSA_WITH_AES_128_GCM_SHA256 = 0x00A0, TLS_DH_RSA_WITH_AES_256_GCM_SHA384 = 0x00A1, TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0043, TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0086,
  TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BC, TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C2, TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07E, TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07F,
  TLS_DH_RSA_WITH_SEED_CBC_SHA = 0x0098, TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC040, TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC041, TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC054,
  TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC055, TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0014, TLS_DHE_RSA_WITH_DES_CBC_SHA = 0x0015, TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016,
  TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033, TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B,
  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F, TLS_DHE_RSA_WITH_AES_128_CCM = 0xC09E, TLS_DHE_RSA_WITH_AES_256_CCM = 0xC09F,
  TLS_DHE_RSA_WITH_AES_128_CCM_8 = 0xC0A2, TLS_DHE_RSA_WITH_AES_256_CCM_8 = 0xC0A3, TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA = 0x0045, TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA = 0x0088,
  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BE, TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C4, TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC07C, TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC07D,
  TLS_DHE_RSA_WITH_SEED_CBC_SHA = 0x009A, TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC044, TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC045, TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC052,
  TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC053, TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAA, TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x000B, TLS_DH_DSS_WITH_DES_CBC_SHA = 0x000C,
  TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 0x000D, TLS_DH_DSS_WITH_AES_128_CBC_SHA = 0x0030, TLS_DH_DSS_WITH_AES_256_CBC_SHA = 0x0036, TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 0x003E,
  TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 0x0068, TLS_DH_DSS_WITH_AES_128_GCM_SHA256 = 0x00A4, TLS_DH_DSS_WITH_AES_256_GCM_SHA384 = 0x00A5, TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0042,
  TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0085, TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BB, TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C1, TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 0xC082,
  TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 0xC083, TLS_DH_DSS_WITH_SEED_CBC_SHA = 0x0097, TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 = 0xC03E, TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 = 0xC03F,
  TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 = 0xC058, TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 = 0xC059, TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x0011, TLS_DHE_DSS_WITH_DES_CBC_SHA = 0x0012,
  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013, TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032, TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040,
  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3, TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA = 0x0044,
  TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA = 0x0087, TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BD, TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C3, TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 = 0xC080,
  TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 = 0xC081, TLS_DHE_DSS_WITH_SEED_CBC_SHA = 0x0099, TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 = 0xC042, TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 = 0xC043,
  TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 = 0xC056, TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 = 0xC057, TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5 = 0x0017, TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA = 0x0019,
  TLS_DH_ANON_WITH_RC4_128_MD5 = 0x0018, TLS_DH_ANON_WITH_DES_CBC_SHA = 0x001A, TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 0x001B, TLS_DH_ANON_WITH_AES_128_CBC_SHA = 0x0034,
  TLS_DH_ANON_WITH_AES_256_CBC_SHA = 0x003A, TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 0x006C, TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 0x006D, TLS_DH_ANON_WITH_AES_128_GCM_SHA256 = 0x00A6,
  TLS_DH_ANON_WITH_AES_256_GCM_SHA384 = 0x00A7, TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA = 0x0046, TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA = 0x0089, TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256 = 0x00BF,
  TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256 = 0x00C5, TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256 = 0xC084, TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384 = 0xC085, TLS_DH_ANON_WITH_SEED_CBC_SHA = 0x009B,
  TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256 = 0xC046, TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384 = 0xC047, TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256 = 0xC05A, TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384 = 0xC05B,
  TLS_ECDH_RSA_WITH_NULL_SHA = 0xC00B, TLS_ECDH_RSA_WITH_RC4_128_SHA = 0xC00C, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA = 0xC00D, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA = 0xC00E,
  TLS_ECDH_RSA_WITH_AES_256_CBC_SHA = 0xC00F, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 = 0xC029, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 = 0xC02A, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 = 0xC031,
  TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 = 0xC032, TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC078, TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC079, TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08C,
  TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08D, TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC04E, TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC04F, TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC062,
  TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC063, TLS_ECDHE_RSA_WITH_NULL_SHA = 0xC010, TLS_ECDHE_RSA_WITH_RC4_128_SHA = 0xC011, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA = 0xC012,
  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028,
  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030, TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC076, TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC077,
  TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08A, TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08B, TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 = 0xC04C, TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 = 0xC04D,
  TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 = 0xC060, TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 = 0xC061, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA8, TLS_ECDH_ECDSA_WITH_NULL_SHA = 0xC001,
  TLS_ECDH_ECDSA_WITH_RC4_128_SHA = 0xC002, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC003, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA = 0xC004, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA = 0xC005,
  TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC025, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC026, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02D, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02E,
  TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC074, TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC075, TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC088, TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC089,
  TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 = 0xC04A, TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 = 0xC04B, TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 = 0xC05E, TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 = 0xC05F,
  TLS_ECDHE_ECDSA_WITH_NULL_SHA = 0xC006, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA = 0xC007, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA = 0xC008, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009,
  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B,
  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C, TLS_ECDHE_ECDSA_WITH_AES_128_CCM = 0xC0AC, TLS_ECDHE_ECDSA_WITH_AES_256_CCM = 0xC0AD, TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 = 0xC0AE,
  TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 = 0xC0AF, TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 = 0xC072, TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 = 0xC073, TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 = 0xC086,
  TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 = 0xC087, TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 = 0xC048, TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 = 0xC049, TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 = 0xC05C,
  TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 = 0xC05D, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA9, TLS_ECDH_ANON_WITH_NULL_SHA = 0xC015, TLS_ECDH_ANON_WITH_RC4_128_SHA = 0xC016,
  TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA = 0xC017, TLS_ECDH_ANON_WITH_AES_128_CBC_SHA = 0xC018, TLS_ECDH_ANON_WITH_AES_256_CBC_SHA = 0xC019, TLS_PSK_WITH_NULL_SHA = 0x002C,
  TLS_PSK_WITH_NULL_SHA256 = 0x00B0, TLS_PSK_WITH_NULL_SHA384 = 0x00B1, TLS_PSK_WITH_RC4_128_SHA = 0x008A, TLS_PSK_WITH_3DES_EDE_CBC_SHA = 0x008B,
  TLS_PSK_WITH_AES_128_CBC_SHA = 0x008C, TLS_PSK_WITH_AES_256_CBC_SHA = 0x008D, TLS_PSK_WITH_AES_128_CBC_SHA256 = 0x00AE, TLS_PSK_WITH_AES_256_CBC_SHA384 = 0x00AF,
  TLS_PSK_WITH_AES_128_GCM_SHA256 = 0x00A8, TLS_PSK_WITH_AES_256_GCM_SHA384 = 0x00A9, TLS_PSK_WITH_AES_128_CCM = 0xC0A4, TLS_PSK_WITH_AES_256_CCM = 0xC0A5,
  TLS_PSK_WITH_AES_128_CCM_8 = 0xC0A8, TLS_PSK_WITH_AES_256_CCM_8 = 0xC0A9, TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC094, TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC095,
  TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC08E, TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC08F, TLS_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC064, TLS_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC065,
  TLS_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06A, TLS_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06B, TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAB, TLS_RSA_PSK_WITH_NULL_SHA = 0x002E,
  TLS_RSA_PSK_WITH_NULL_SHA256 = 0x00B8, TLS_RSA_PSK_WITH_NULL_SHA384 = 0x00B9, TLS_RSA_PSK_WITH_RC4_128_SHA = 0x0092, TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = 0x0093,
  TLS_RSA_PSK_WITH_AES_128_CBC_SHA = 0x0094, TLS_RSA_PSK_WITH_AES_256_CBC_SHA = 0x0095, TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 = 0x00B6, TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 = 0x00B7,
  TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 = 0x00AC, TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 = 0x00AD, TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC098, TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC099,
  TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC092, TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC093, TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC068, TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC069,
  TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06E, TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06F, TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAE, TLS_DHE_PSK_WITH_NULL_SHA = 0x002D,
  TLS_DHE_PSK_WITH_NULL_SHA256 = 0x00B4, TLS_DHE_PSK_WITH_NULL_SHA384 = 0x00B5, TLS_DHE_PSK_WITH_RC4_128_SHA = 0x008E, TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = 0x008F,
  TLS_DHE_PSK_WITH_AES_128_CBC_SHA = 0x0090, TLS_DHE_PSK_WITH_AES_256_CBC_SHA = 0x0091, TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 = 0x00B2, TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 = 0x00B3,
  TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 0x00AA, TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 0x00AB, TLS_DHE_PSK_WITH_AES_128_CCM = 0xC0A6, TLS_DHE_PSK_WITH_AES_256_CCM = 0xC0A7,
  TLS_DHE_PSK_WITH_AES_128_CCM_8 = 0xC0AA, TLS_DHE_PSK_WITH_AES_256_CCM_8 = 0xC0AB, TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC096, TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC097,
  TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 = 0xC090, TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 = 0xC091, TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC066, TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC067,
  TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 = 0xC06C, TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 = 0xC06D, TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAD, TLS_ECDHE_PSK_WITH_NULL_SHA = 0xC039,
  TLS_ECDHE_PSK_WITH_NULL_SHA256 = 0xC03A, TLS_ECDHE_PSK_WITH_NULL_SHA384 = 0xC03B, TLS_ECDHE_PSK_WITH_RC4_128_SHA = 0xC033, TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA = 0xC034,
  TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA = 0xC035, TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA = 0xC036, TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 = 0xC037, TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038,
  TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 0xD001, TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 0xD002, TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 0xD005, TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 = 0xD003,
  TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 = 0xC09A, TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 = 0xC09B, TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 = 0xC070, TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 = 0xC071,
  TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAC, TLS_KRB5_EXPORT_WITH_RC4_40_MD5 = 0x002B, TLS_KRB5_EXPORT_WITH_RC4_40_SHA = 0x0028, TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 = 0x002A,
  TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA = 0x0027, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 = 0x0029, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA = 0x0026, TLS_KRB5_WITH_RC4_128_MD5 = 0x0024,
  TLS_KRB5_WITH_RC4_128_SHA = 0x0020, TLS_KRB5_WITH_IDEA_CBC_MD5 = 0x0025, TLS_KRB5_WITH_IDEA_CBC_SHA = 0x0021, TLS_KRB5_WITH_DES_CBC_MD5 = 0x0022,
  TLS_KRB5_WITH_DES_CBC_SHA = 0x001E, TLS_KRB5_WITH_3DES_EDE_CBC_MD5 = 0x0023, TLS_KRB5_WITH_3DES_EDE_CBC_SHA = 0x001F, TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 0xC01A,
  TLS_SRP_SHA_WITH_AES_128_CBC_SHA = 0xC01D, TLS_SRP_SHA_WITH_AES_256_CBC_SHA = 0xC020, TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA = 0xC01B, TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA = 0xC01E,
  TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA = 0xC021, TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA = 0xC01C, TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA = 0xC01F, TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA = 0xC022,
  TLS_ECCPWD_WITH_AES_128_GCM_SHA256 = 0xC0B0, TLS_ECCPWD_WITH_AES_256_GCM_SHA384 = 0xC0B1, TLS_ECCPWD_WITH_AES_128_CCM_SHA256 = 0xC0B2, TLS_ECCPWD_WITH_AES_256_CCM_SHA384 = 0xC0B3,
  TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC = 0xC100, TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC = 0xC101, TLS_GOSTR341112_256_WITH_28147_CNT_IMIT = 0xC102, TLS_AES_128_GCM_SHA256 = 0x1301,
  TLS_AES_256_GCM_SHA384 = 0x1302, TLS_AES_128_CCM_SHA256 = 0x1304, TLS_AES_128_CCM_8_SHA256 = 0x1305, TLS_CHACHA20_POLY1305_SHA256 = 0x1303,
  TLS_SM4_GCM_SM3 = 0x00C6, TLS_SM4_CCM_SM3 = 0x00C7, TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L = 0xC103, TLS_GOSTR341112_256_WITH_MAGMA_MGM_L = 0xC104,
  TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S = 0xC105, TLS_GOSTR341112_256_WITH_MAGMA_MGM_S = 0xC106, TLS_SHA256_SHA256 = 0xC0B4, TLS_SHA384_SHA384 = 0xC0B5,
  TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 0x00FF, TLS_FALLBACK_SCSV = 0x5600
}
 TLS cipher suites. More...
 
enum  TlsCipherSuiteType {
  TLS_CIPHER_SUITE_TYPE_UNKNOWN = 0x00, TLS_CIPHER_SUITE_TYPE_DH = 0x01, TLS_CIPHER_SUITE_TYPE_ECDH = 0x02, TLS_CIPHER_SUITE_TYPE_RSA = 0x04,
  TLS_CIPHER_SUITE_TYPE_DSA = 0x08, TLS_CIPHER_SUITE_TYPE_ECDSA = 0x10, TLS_CIPHER_SUITE_TYPE_PSK = 0x20, TLS_CIPHER_SUITE_TYPE_TLS13 = 0x40,
  TLS_CIPHER_SUITE_TYPE_SM = 0x80
}
 Cipher suite types. More...
 

Functions

uint_t tlsGetNumSupportedCipherSuites (void)
 Determine the number of cipher suites supported. More...
 
const char_ttlsGetCipherSuiteName (uint16_t identifier)
 Convert cipher suite identifier to string representation. More...
 
bool_t tlsIsCipherSuiteAcceptable (const TlsCipherSuiteInfo *cipherSuite, uint16_t minVersion, uint16_t maxVersion, TlsTransportProtocol transportProtocol)
 Check whether a cipher suite can be used with a given protocol version. More...
 
uint_t tlsGetCipherSuiteType (uint16_t identifier)
 Retrieve the cipher suite type for a given identifier. More...
 

Variables

const TlsCipherSuiteInfo tlsSupportedCipherSuites []
 

Detailed Description

TLS cipher suites.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSSL Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.4

Definition in file tls_cipher_suites.h.

Macro Definition Documentation

◆ TLS_CIPHER_SUITE

#define TLS_CIPHER_SUITE (   identifier,
  keyExchMethod,
  cipherAlgo,
  cipherMode,
  hashAlgo,
  prfHashAlgo,
  macKeyLen,
  encKeyLen,
  fixedIvLen,
  recordIvLen,
  authTagLen,
  verifyDataLen 
)
Value:
{identifier, #identifier, keyExchMethod, cipherAlgo, cipherMode, hashAlgo, prfHashAlgo, \
macKeyLen, encKeyLen, fixedIvLen, recordIvLen, authTagLen, verifyDataLen}

Definition at line 39 of file tls_cipher_suites.h.

Enumeration Type Documentation

◆ TlsCipherSuite

TLS cipher suites.

Enumerator
TLS_NULL_WITH_NULL_NULL 
TLS_RSA_EXPORT_WITH_RC4_40_MD5 
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 
TLS_RSA_WITH_NULL_MD5 
TLS_RSA_WITH_NULL_SHA 
TLS_RSA_WITH_NULL_SHA256 
TLS_RSA_WITH_RC4_128_MD5 
TLS_RSA_WITH_RC4_128_SHA 
TLS_RSA_WITH_IDEA_CBC_SHA 
TLS_RSA_WITH_DES_CBC_SHA 
TLS_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_RSA_WITH_AES_128_CBC_SHA 
TLS_RSA_WITH_AES_256_CBC_SHA 
TLS_RSA_WITH_AES_128_CBC_SHA256 
TLS_RSA_WITH_AES_256_CBC_SHA256 
TLS_RSA_WITH_AES_128_GCM_SHA256 
TLS_RSA_WITH_AES_256_GCM_SHA384 
TLS_RSA_WITH_AES_128_CCM 
TLS_RSA_WITH_AES_256_CCM 
TLS_RSA_WITH_AES_128_CCM_8 
TLS_RSA_WITH_AES_256_CCM_8 
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 
TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_RSA_WITH_SEED_CBC_SHA 
TLS_RSA_WITH_ARIA_128_CBC_SHA256 
TLS_RSA_WITH_ARIA_256_CBC_SHA384 
TLS_RSA_WITH_ARIA_128_GCM_SHA256 
TLS_RSA_WITH_ARIA_256_GCM_SHA384 
TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 
TLS_DH_RSA_WITH_DES_CBC_SHA 
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_DH_RSA_WITH_AES_128_CBC_SHA 
TLS_DH_RSA_WITH_AES_256_CBC_SHA 
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 
TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DH_RSA_WITH_SEED_CBC_SHA 
TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 
TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 
TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 
TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 
TLS_DHE_RSA_WITH_DES_CBC_SHA 
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 
TLS_DHE_RSA_WITH_AES_128_CCM 
TLS_DHE_RSA_WITH_AES_256_CCM 
TLS_DHE_RSA_WITH_AES_128_CCM_8 
TLS_DHE_RSA_WITH_AES_256_CCM_8 
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 
TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DHE_RSA_WITH_SEED_CBC_SHA 
TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 
TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 
TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 
TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 
TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 
TLS_DH_DSS_WITH_DES_CBC_SHA 
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 
TLS_DH_DSS_WITH_AES_128_CBC_SHA 
TLS_DH_DSS_WITH_AES_256_CBC_SHA 
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 
TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DH_DSS_WITH_SEED_CBC_SHA 
TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 
TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 
TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 
TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 
TLS_DHE_DSS_WITH_DES_CBC_SHA 
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 
TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DHE_DSS_WITH_SEED_CBC_SHA 
TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 
TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 
TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 
TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 
TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5 
TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA 
TLS_DH_ANON_WITH_RC4_128_MD5 
TLS_DH_ANON_WITH_DES_CBC_SHA 
TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA 
TLS_DH_ANON_WITH_AES_128_CBC_SHA 
TLS_DH_ANON_WITH_AES_256_CBC_SHA 
TLS_DH_ANON_WITH_AES_128_CBC_SHA256 
TLS_DH_ANON_WITH_AES_256_CBC_SHA256 
TLS_DH_ANON_WITH_AES_128_GCM_SHA256 
TLS_DH_ANON_WITH_AES_256_GCM_SHA384 
TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA 
TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA 
TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256 
TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DH_ANON_WITH_SEED_CBC_SHA 
TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256 
TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384 
TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256 
TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384 
TLS_ECDH_RSA_WITH_NULL_SHA 
TLS_ECDH_RSA_WITH_RC4_128_SHA 
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 
TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 
TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 
TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 
TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 
TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 
TLS_ECDHE_RSA_WITH_NULL_SHA 
TLS_ECDHE_RSA_WITH_RC4_128_SHA 
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 
TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 
TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 
TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 
TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 
TLS_ECDH_ECDSA_WITH_NULL_SHA 
TLS_ECDH_ECDSA_WITH_RC4_128_SHA 
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 
TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 
TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 
TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 
TLS_ECDHE_ECDSA_WITH_NULL_SHA 
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 
TLS_ECDHE_ECDSA_WITH_AES_128_CCM 
TLS_ECDHE_ECDSA_WITH_AES_256_CCM 
TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 
TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 
TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 
TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 
TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 
TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 
TLS_ECDH_ANON_WITH_NULL_SHA 
TLS_ECDH_ANON_WITH_RC4_128_SHA 
TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA 
TLS_ECDH_ANON_WITH_AES_128_CBC_SHA 
TLS_ECDH_ANON_WITH_AES_256_CBC_SHA 
TLS_PSK_WITH_NULL_SHA 
TLS_PSK_WITH_NULL_SHA256 
TLS_PSK_WITH_NULL_SHA384 
TLS_PSK_WITH_RC4_128_SHA 
TLS_PSK_WITH_3DES_EDE_CBC_SHA 
TLS_PSK_WITH_AES_128_CBC_SHA 
TLS_PSK_WITH_AES_256_CBC_SHA 
TLS_PSK_WITH_AES_128_CBC_SHA256 
TLS_PSK_WITH_AES_256_CBC_SHA384 
TLS_PSK_WITH_AES_128_GCM_SHA256 
TLS_PSK_WITH_AES_256_GCM_SHA384 
TLS_PSK_WITH_AES_128_CCM 
TLS_PSK_WITH_AES_256_CCM 
TLS_PSK_WITH_AES_128_CCM_8 
TLS_PSK_WITH_AES_256_CCM_8 
TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 
TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 
TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 
TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 
TLS_PSK_WITH_ARIA_128_CBC_SHA256 
TLS_PSK_WITH_ARIA_256_CBC_SHA384 
TLS_PSK_WITH_ARIA_128_GCM_SHA256 
TLS_PSK_WITH_ARIA_256_GCM_SHA384 
TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 
TLS_RSA_PSK_WITH_NULL_SHA 
TLS_RSA_PSK_WITH_NULL_SHA256 
TLS_RSA_PSK_WITH_NULL_SHA384 
TLS_RSA_PSK_WITH_RC4_128_SHA 
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA 
TLS_RSA_PSK_WITH_AES_128_CBC_SHA 
TLS_RSA_PSK_WITH_AES_256_CBC_SHA 
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 
TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 
TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 
TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 
TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 
TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 
TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 
TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 
TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 
TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 
TLS_DHE_PSK_WITH_NULL_SHA 
TLS_DHE_PSK_WITH_NULL_SHA256 
TLS_DHE_PSK_WITH_NULL_SHA384 
TLS_DHE_PSK_WITH_RC4_128_SHA 
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA 
TLS_DHE_PSK_WITH_AES_128_CBC_SHA 
TLS_DHE_PSK_WITH_AES_256_CBC_SHA 
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 
TLS_DHE_PSK_WITH_AES_128_CCM 
TLS_DHE_PSK_WITH_AES_256_CCM 
TLS_DHE_PSK_WITH_AES_128_CCM_8 
TLS_DHE_PSK_WITH_AES_256_CCM_8 
TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 
TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 
TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 
TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 
TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 
TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 
TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 
TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 
TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 
TLS_ECDHE_PSK_WITH_NULL_SHA 
TLS_ECDHE_PSK_WITH_NULL_SHA256 
TLS_ECDHE_PSK_WITH_NULL_SHA384 
TLS_ECDHE_PSK_WITH_RC4_128_SHA 
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA 
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA 
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 
TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 
TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 
TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 
TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 
TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 
TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 
TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 
TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 
TLS_KRB5_EXPORT_WITH_RC4_40_SHA 
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA 
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA 
TLS_KRB5_WITH_RC4_128_MD5 
TLS_KRB5_WITH_RC4_128_SHA 
TLS_KRB5_WITH_IDEA_CBC_MD5 
TLS_KRB5_WITH_IDEA_CBC_SHA 
TLS_KRB5_WITH_DES_CBC_MD5 
TLS_KRB5_WITH_DES_CBC_SHA 
TLS_KRB5_WITH_3DES_EDE_CBC_MD5 
TLS_KRB5_WITH_3DES_EDE_CBC_SHA 
TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA 
TLS_SRP_SHA_WITH_AES_128_CBC_SHA 
TLS_SRP_SHA_WITH_AES_256_CBC_SHA 
TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 
TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 
TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 
TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 
TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 
TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 
TLS_ECCPWD_WITH_AES_128_GCM_SHA256 
TLS_ECCPWD_WITH_AES_256_GCM_SHA384 
TLS_ECCPWD_WITH_AES_128_CCM_SHA256 
TLS_ECCPWD_WITH_AES_256_CCM_SHA384 
TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC 
TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC 
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT 
TLS_AES_128_GCM_SHA256 
TLS_AES_256_GCM_SHA384 
TLS_AES_128_CCM_SHA256 
TLS_AES_128_CCM_8_SHA256 
TLS_CHACHA20_POLY1305_SHA256 
TLS_SM4_GCM_SM3 
TLS_SM4_CCM_SM3 
TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L 
TLS_GOSTR341112_256_WITH_MAGMA_MGM_L 
TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S 
TLS_GOSTR341112_256_WITH_MAGMA_MGM_S 
TLS_SHA256_SHA256 
TLS_SHA384_SHA384 
TLS_EMPTY_RENEGOTIATION_INFO_SCSV 
TLS_FALLBACK_SCSV 

Definition at line 54 of file tls_cipher_suites.h.

◆ TlsCipherSuiteType

Cipher suite types.

Enumerator
TLS_CIPHER_SUITE_TYPE_UNKNOWN 
TLS_CIPHER_SUITE_TYPE_DH 
TLS_CIPHER_SUITE_TYPE_ECDH 
TLS_CIPHER_SUITE_TYPE_RSA 
TLS_CIPHER_SUITE_TYPE_DSA 
TLS_CIPHER_SUITE_TYPE_ECDSA 
TLS_CIPHER_SUITE_TYPE_PSK 
TLS_CIPHER_SUITE_TYPE_TLS13 
TLS_CIPHER_SUITE_TYPE_SM 

Definition at line 434 of file tls_cipher_suites.h.

Function Documentation

◆ tlsGetCipherSuiteName()

const char_t* tlsGetCipherSuiteName ( uint16_t  identifier)

Convert cipher suite identifier to string representation.

Parameters
[in]identifierCipher suite identifier
Returns
Cipher suite name

Definition at line 1227 of file tls_cipher_suites.c.

◆ tlsGetCipherSuiteType()

uint_t tlsGetCipherSuiteType ( uint16_t  identifier)

Retrieve the cipher suite type for a given identifier.

Parameters
[in]identifierCipher suite identifier
Returns
Cipher suite type

Definition at line 1321 of file tls_cipher_suites.c.

◆ tlsGetNumSupportedCipherSuites()

uint_t tlsGetNumSupportedCipherSuites ( void  )

Determine the number of cipher suites supported.

Returns
Number of supported cipher suites

Definition at line 1214 of file tls_cipher_suites.c.

◆ tlsIsCipherSuiteAcceptable()

bool_t tlsIsCipherSuiteAcceptable ( const TlsCipherSuiteInfo cipherSuite,
uint16_t  minVersion,
uint16_t  maxVersion,
TlsTransportProtocol  transportProtocol 
)

Check whether a cipher suite can be used with a given protocol version.

Parameters
[in]cipherSuiteCipher suite
[in]minVersionMinimum TLS protocol version
[in]maxVersionMaximum TLS protocol version
[in]transportProtocolTransport protocol (TLS or DTLS)
Returns
TRUE if the cipher suite is acceptable, else FALSE

Definition at line 1257 of file tls_cipher_suites.c.

Variable Documentation

◆ tlsSupportedCipherSuites

const TlsCipherSuiteInfo tlsSupportedCipherSuites[]
extern

Definition at line 45 of file tls_cipher_suites.c.

uint8_t identifier[]