11 #include <botan/tls_ciphersuite.h>
21 static const std::vector<Ciphersuite> g_ciphersuite_list = {
22 Ciphersuite(0x000A,
"RSA_WITH_3DES_EDE_CBC_SHA",
"RSA",
"RSA",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
23 Ciphersuite(0x0013,
"DHE_DSS_WITH_3DES_EDE_CBC_SHA",
"DSA",
"DH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
24 Ciphersuite(0x0016,
"DHE_RSA_WITH_3DES_EDE_CBC_SHA",
"RSA",
"DH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
25 Ciphersuite(0x001B,
"DH_anon_WITH_3DES_EDE_CBC_SHA",
"",
"DH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
26 Ciphersuite(0x002F,
"RSA_WITH_AES_128_CBC_SHA",
"RSA",
"RSA",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
27 Ciphersuite(0x0032,
"DHE_DSS_WITH_AES_128_CBC_SHA",
"DSA",
"DH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
28 Ciphersuite(0x0033,
"DHE_RSA_WITH_AES_128_CBC_SHA",
"RSA",
"DH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
29 Ciphersuite(0x0034,
"DH_anon_WITH_AES_128_CBC_SHA",
"",
"DH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
30 Ciphersuite(0x0035,
"RSA_WITH_AES_256_CBC_SHA",
"RSA",
"RSA",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
31 Ciphersuite(0x0038,
"DHE_DSS_WITH_AES_256_CBC_SHA",
"DSA",
"DH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
32 Ciphersuite(0x0039,
"DHE_RSA_WITH_AES_256_CBC_SHA",
"RSA",
"DH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
33 Ciphersuite(0x003A,
"DH_anon_WITH_AES_256_CBC_SHA",
"",
"DH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
34 Ciphersuite(0x003C,
"RSA_WITH_AES_128_CBC_SHA256",
"RSA",
"RSA",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
35 Ciphersuite(0x003D,
"RSA_WITH_AES_256_CBC_SHA256",
"RSA",
"RSA",
"AES-256", 32, 16, 0,
"SHA-256", 32,
""),
36 Ciphersuite(0x0040,
"DHE_DSS_WITH_AES_128_CBC_SHA256",
"DSA",
"DH",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
37 Ciphersuite(0x0041,
"RSA_WITH_CAMELLIA_128_CBC_SHA",
"RSA",
"RSA",
"Camellia-128", 16, 16, 0,
"SHA-1", 20,
""),
38 Ciphersuite(0x0044,
"DHE_DSS_WITH_CAMELLIA_128_CBC_SHA",
"DSA",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-1", 20,
""),
39 Ciphersuite(0x0045,
"DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
"RSA",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-1", 20,
""),
40 Ciphersuite(0x0046,
"DH_anon_WITH_CAMELLIA_128_CBC_SHA",
"",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-1", 20,
""),
41 Ciphersuite(0x0067,
"DHE_RSA_WITH_AES_128_CBC_SHA256",
"RSA",
"DH",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
42 Ciphersuite(0x006A,
"DHE_DSS_WITH_AES_256_CBC_SHA256",
"DSA",
"DH",
"AES-256", 32, 16, 0,
"SHA-256", 32,
""),
43 Ciphersuite(0x006B,
"DHE_RSA_WITH_AES_256_CBC_SHA256",
"RSA",
"DH",
"AES-256", 32, 16, 0,
"SHA-256", 32,
""),
44 Ciphersuite(0x006C,
"DH_anon_WITH_AES_128_CBC_SHA256",
"",
"DH",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
45 Ciphersuite(0x006D,
"DH_anon_WITH_AES_256_CBC_SHA256",
"",
"DH",
"AES-256", 32, 16, 0,
"SHA-256", 32,
""),
46 Ciphersuite(0x0084,
"RSA_WITH_CAMELLIA_256_CBC_SHA",
"RSA",
"RSA",
"Camellia-256", 32, 16, 0,
"SHA-1", 20,
""),
47 Ciphersuite(0x0087,
"DHE_DSS_WITH_CAMELLIA_256_CBC_SHA",
"DSA",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-1", 20,
""),
48 Ciphersuite(0x0088,
"DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
"RSA",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-1", 20,
""),
49 Ciphersuite(0x0089,
"DH_anon_WITH_CAMELLIA_256_CBC_SHA",
"",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-1", 20,
""),
50 Ciphersuite(0x008B,
"PSK_WITH_3DES_EDE_CBC_SHA",
"",
"PSK",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
51 Ciphersuite(0x008C,
"PSK_WITH_AES_128_CBC_SHA",
"",
"PSK",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
52 Ciphersuite(0x008D,
"PSK_WITH_AES_256_CBC_SHA",
"",
"PSK",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
53 Ciphersuite(0x008F,
"DHE_PSK_WITH_3DES_EDE_CBC_SHA",
"",
"DHE_PSK",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
54 Ciphersuite(0x0090,
"DHE_PSK_WITH_AES_128_CBC_SHA",
"",
"DHE_PSK",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
55 Ciphersuite(0x0091,
"DHE_PSK_WITH_AES_256_CBC_SHA",
"",
"DHE_PSK",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
56 Ciphersuite(0x0096,
"RSA_WITH_SEED_CBC_SHA",
"RSA",
"RSA",
"SEED", 16, 16, 0,
"SHA-1", 20,
""),
57 Ciphersuite(0x0099,
"DHE_DSS_WITH_SEED_CBC_SHA",
"DSA",
"DH",
"SEED", 16, 16, 0,
"SHA-1", 20,
""),
58 Ciphersuite(0x009A,
"DHE_RSA_WITH_SEED_CBC_SHA",
"RSA",
"DH",
"SEED", 16, 16, 0,
"SHA-1", 20,
""),
59 Ciphersuite(0x009B,
"DH_anon_WITH_SEED_CBC_SHA",
"",
"DH",
"SEED", 16, 16, 0,
"SHA-1", 20,
""),
60 Ciphersuite(0x009C,
"RSA_WITH_AES_128_GCM_SHA256",
"RSA",
"RSA",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
61 Ciphersuite(0x009D,
"RSA_WITH_AES_256_GCM_SHA384",
"RSA",
"RSA",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
62 Ciphersuite(0x009E,
"DHE_RSA_WITH_AES_128_GCM_SHA256",
"RSA",
"DH",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
63 Ciphersuite(0x009F,
"DHE_RSA_WITH_AES_256_GCM_SHA384",
"RSA",
"DH",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
64 Ciphersuite(0x00A2,
"DHE_DSS_WITH_AES_128_GCM_SHA256",
"DSA",
"DH",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
65 Ciphersuite(0x00A3,
"DHE_DSS_WITH_AES_256_GCM_SHA384",
"DSA",
"DH",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
66 Ciphersuite(0x00A6,
"DH_anon_WITH_AES_128_GCM_SHA256",
"",
"DH",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
67 Ciphersuite(0x00A7,
"DH_anon_WITH_AES_256_GCM_SHA384",
"",
"DH",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
68 Ciphersuite(0x00A8,
"PSK_WITH_AES_128_GCM_SHA256",
"",
"PSK",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
69 Ciphersuite(0x00A9,
"PSK_WITH_AES_256_GCM_SHA384",
"",
"PSK",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
70 Ciphersuite(0x00AA,
"DHE_PSK_WITH_AES_128_GCM_SHA256",
"",
"DHE_PSK",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
71 Ciphersuite(0x00AB,
"DHE_PSK_WITH_AES_256_GCM_SHA384",
"",
"DHE_PSK",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
72 Ciphersuite(0x00AE,
"PSK_WITH_AES_128_CBC_SHA256",
"",
"PSK",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
73 Ciphersuite(0x00AF,
"PSK_WITH_AES_256_CBC_SHA384",
"",
"PSK",
"AES-256", 32, 16, 0,
"SHA-384", 48,
""),
74 Ciphersuite(0x00B2,
"DHE_PSK_WITH_AES_128_CBC_SHA256",
"",
"DHE_PSK",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
75 Ciphersuite(0x00B3,
"DHE_PSK_WITH_AES_256_CBC_SHA384",
"",
"DHE_PSK",
"AES-256", 32, 16, 0,
"SHA-384", 48,
""),
76 Ciphersuite(0x00BA,
"RSA_WITH_CAMELLIA_128_CBC_SHA256",
"RSA",
"RSA",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
77 Ciphersuite(0x00BD,
"DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256",
"DSA",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
78 Ciphersuite(0x00BE,
"DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
"RSA",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
79 Ciphersuite(0x00BF,
"DH_anon_WITH_CAMELLIA_128_CBC_SHA256",
"",
"DH",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
80 Ciphersuite(0x00C0,
"RSA_WITH_CAMELLIA_256_CBC_SHA256",
"RSA",
"RSA",
"Camellia-256", 32, 16, 0,
"SHA-256", 32,
""),
81 Ciphersuite(0x00C3,
"DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256",
"DSA",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-256", 32,
""),
82 Ciphersuite(0x00C4,
"DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
"RSA",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-256", 32,
""),
83 Ciphersuite(0x00C5,
"DH_anon_WITH_CAMELLIA_256_CBC_SHA256",
"",
"DH",
"Camellia-256", 32, 16, 0,
"SHA-256", 32,
""),
84 Ciphersuite(0x16B7,
"CECPQ1_RSA_WITH_CHACHA20_POLY1305_SHA256",
"RSA",
"CECPQ1",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
85 Ciphersuite(0x16B8,
"CECPQ1_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"ECDSA",
"CECPQ1",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
86 Ciphersuite(0x16B9,
"CECPQ1_RSA_WITH_AES_256_GCM_SHA384",
"RSA",
"CECPQ1",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
87 Ciphersuite(0x16BA,
"CECPQ1_ECDSA_WITH_AES_256_GCM_SHA384",
"ECDSA",
"CECPQ1",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
88 Ciphersuite(0xC008,
"ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
"ECDSA",
"ECDH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
89 Ciphersuite(0xC009,
"ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
"ECDSA",
"ECDH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
90 Ciphersuite(0xC00A,
"ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
"ECDSA",
"ECDH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
91 Ciphersuite(0xC012,
"ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
"RSA",
"ECDH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
92 Ciphersuite(0xC013,
"ECDHE_RSA_WITH_AES_128_CBC_SHA",
"RSA",
"ECDH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
93 Ciphersuite(0xC014,
"ECDHE_RSA_WITH_AES_256_CBC_SHA",
"RSA",
"ECDH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
94 Ciphersuite(0xC017,
"ECDH_anon_WITH_3DES_EDE_CBC_SHA",
"",
"ECDH",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
95 Ciphersuite(0xC018,
"ECDH_anon_WITH_AES_128_CBC_SHA",
"",
"ECDH",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
96 Ciphersuite(0xC019,
"ECDH_anon_WITH_AES_256_CBC_SHA",
"",
"ECDH",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
97 Ciphersuite(0xC01A,
"SRP_SHA_WITH_3DES_EDE_CBC_SHA",
"",
"SRP_SHA",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
98 Ciphersuite(0xC01B,
"SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA",
"RSA",
"SRP_SHA",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
99 Ciphersuite(0xC01C,
"SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA",
"DSA",
"SRP_SHA",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
100 Ciphersuite(0xC01D,
"SRP_SHA_WITH_AES_128_CBC_SHA",
"",
"SRP_SHA",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
101 Ciphersuite(0xC01E,
"SRP_SHA_RSA_WITH_AES_128_CBC_SHA",
"RSA",
"SRP_SHA",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
102 Ciphersuite(0xC01F,
"SRP_SHA_DSS_WITH_AES_128_CBC_SHA",
"DSA",
"SRP_SHA",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
103 Ciphersuite(0xC020,
"SRP_SHA_WITH_AES_256_CBC_SHA",
"",
"SRP_SHA",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
104 Ciphersuite(0xC021,
"SRP_SHA_RSA_WITH_AES_256_CBC_SHA",
"RSA",
"SRP_SHA",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
105 Ciphersuite(0xC022,
"SRP_SHA_DSS_WITH_AES_256_CBC_SHA",
"DSA",
"SRP_SHA",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
106 Ciphersuite(0xC023,
"ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"ECDSA",
"ECDH",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
107 Ciphersuite(0xC024,
"ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"ECDSA",
"ECDH",
"AES-256", 32, 16, 0,
"SHA-384", 48,
""),
108 Ciphersuite(0xC027,
"ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"RSA",
"ECDH",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
109 Ciphersuite(0xC028,
"ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"RSA",
"ECDH",
"AES-256", 32, 16, 0,
"SHA-384", 48,
""),
110 Ciphersuite(0xC02B,
"ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"ECDSA",
"ECDH",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
111 Ciphersuite(0xC02C,
"ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"ECDSA",
"ECDH",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
112 Ciphersuite(0xC02F,
"ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"RSA",
"ECDH",
"AES-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
113 Ciphersuite(0xC030,
"ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"RSA",
"ECDH",
"AES-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
114 Ciphersuite(0xC034,
"ECDHE_PSK_WITH_3DES_EDE_CBC_SHA",
"",
"ECDHE_PSK",
"3DES", 24, 8, 0,
"SHA-1", 20,
""),
115 Ciphersuite(0xC035,
"ECDHE_PSK_WITH_AES_128_CBC_SHA",
"",
"ECDHE_PSK",
"AES-128", 16, 16, 0,
"SHA-1", 20,
""),
116 Ciphersuite(0xC036,
"ECDHE_PSK_WITH_AES_256_CBC_SHA",
"",
"ECDHE_PSK",
"AES-256", 32, 16, 0,
"SHA-1", 20,
""),
117 Ciphersuite(0xC037,
"ECDHE_PSK_WITH_AES_128_CBC_SHA256",
"",
"ECDHE_PSK",
"AES-128", 16, 16, 0,
"SHA-256", 32,
""),
118 Ciphersuite(0xC038,
"ECDHE_PSK_WITH_AES_256_CBC_SHA384",
"",
"ECDHE_PSK",
"AES-256", 32, 16, 0,
"SHA-384", 48,
""),
119 Ciphersuite(0xC072,
"ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
"ECDSA",
"ECDH",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
120 Ciphersuite(0xC073,
"ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
"ECDSA",
"ECDH",
"Camellia-256", 32, 16, 0,
"SHA-384", 48,
""),
121 Ciphersuite(0xC076,
"ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
"RSA",
"ECDH",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
122 Ciphersuite(0xC077,
"ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
"RSA",
"ECDH",
"Camellia-256", 32, 16, 0,
"SHA-384", 48,
""),
123 Ciphersuite(0xC07A,
"RSA_WITH_CAMELLIA_128_GCM_SHA256",
"RSA",
"RSA",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
124 Ciphersuite(0xC07B,
"RSA_WITH_CAMELLIA_256_GCM_SHA384",
"RSA",
"RSA",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
125 Ciphersuite(0xC07C,
"DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
"RSA",
"DH",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
126 Ciphersuite(0xC07D,
"DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
"RSA",
"DH",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
127 Ciphersuite(0xC080,
"DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256",
"DSA",
"DH",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
128 Ciphersuite(0xC081,
"DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384",
"DSA",
"DH",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
129 Ciphersuite(0xC084,
"DH_anon_WITH_CAMELLIA_128_GCM_SHA256",
"",
"DH",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
130 Ciphersuite(0xC085,
"DH_anon_WITH_CAMELLIA_256_GCM_SHA384",
"",
"DH",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
131 Ciphersuite(0xC086,
"ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
"ECDSA",
"ECDH",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
132 Ciphersuite(0xC087,
"ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
"ECDSA",
"ECDH",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
133 Ciphersuite(0xC08A,
"ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
"RSA",
"ECDH",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
134 Ciphersuite(0xC08B,
"ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
"RSA",
"ECDH",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
135 Ciphersuite(0xC08E,
"PSK_WITH_CAMELLIA_128_GCM_SHA256",
"",
"PSK",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
136 Ciphersuite(0xC08F,
"PSK_WITH_CAMELLIA_256_GCM_SHA384",
"",
"PSK",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
137 Ciphersuite(0xC090,
"DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
"",
"DHE_PSK",
"Camellia-128/GCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
138 Ciphersuite(0xC091,
"DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
"",
"DHE_PSK",
"Camellia-256/GCM", 32, 4, 8,
"AEAD", 0,
"SHA-384"),
139 Ciphersuite(0xC094,
"PSK_WITH_CAMELLIA_128_CBC_SHA256",
"",
"PSK",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
140 Ciphersuite(0xC095,
"PSK_WITH_CAMELLIA_256_CBC_SHA384",
"",
"PSK",
"Camellia-256", 32, 16, 0,
"SHA-384", 48,
""),
141 Ciphersuite(0xC096,
"DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
"",
"DHE_PSK",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
142 Ciphersuite(0xC097,
"DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
"",
"DHE_PSK",
"Camellia-256", 32, 16, 0,
"SHA-384", 48,
""),
143 Ciphersuite(0xC09A,
"ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
"",
"ECDHE_PSK",
"Camellia-128", 16, 16, 0,
"SHA-256", 32,
""),
144 Ciphersuite(0xC09B,
"ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
"",
"ECDHE_PSK",
"Camellia-256", 32, 16, 0,
"SHA-384", 48,
""),
145 Ciphersuite(0xC09C,
"RSA_WITH_AES_128_CCM",
"RSA",
"RSA",
"AES-128/CCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
146 Ciphersuite(0xC09D,
"RSA_WITH_AES_256_CCM",
"RSA",
"RSA",
"AES-256/CCM", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
147 Ciphersuite(0xC09E,
"DHE_RSA_WITH_AES_128_CCM",
"RSA",
"DH",
"AES-128/CCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
148 Ciphersuite(0xC09F,
"DHE_RSA_WITH_AES_256_CCM",
"RSA",
"DH",
"AES-256/CCM", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
149 Ciphersuite(0xC0A0,
"RSA_WITH_AES_128_CCM_8",
"RSA",
"RSA",
"AES-128/CCM(8)", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
150 Ciphersuite(0xC0A1,
"RSA_WITH_AES_256_CCM_8",
"RSA",
"RSA",
"AES-256/CCM(8)", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
151 Ciphersuite(0xC0A2,
"DHE_RSA_WITH_AES_128_CCM_8",
"RSA",
"DH",
"AES-128/CCM(8)", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
152 Ciphersuite(0xC0A3,
"DHE_RSA_WITH_AES_256_CCM_8",
"RSA",
"DH",
"AES-256/CCM(8)", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
153 Ciphersuite(0xC0A4,
"PSK_WITH_AES_128_CCM",
"",
"PSK",
"AES-128/CCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
154 Ciphersuite(0xC0A5,
"PSK_WITH_AES_256_CCM",
"",
"PSK",
"AES-256/CCM", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
155 Ciphersuite(0xC0A6,
"DHE_PSK_WITH_AES_128_CCM",
"",
"DHE_PSK",
"AES-128/CCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
156 Ciphersuite(0xC0A7,
"DHE_PSK_WITH_AES_256_CCM",
"",
"DHE_PSK",
"AES-256/CCM", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
157 Ciphersuite(0xC0A8,
"PSK_WITH_AES_128_CCM_8",
"",
"PSK",
"AES-128/CCM(8)", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
158 Ciphersuite(0xC0A9,
"PSK_WITH_AES_256_CCM_8",
"",
"PSK",
"AES-256/CCM(8)", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
159 Ciphersuite(0xC0AA,
"PSK_DHE_WITH_AES_128_CCM_8",
"",
"DHE_PSK",
"AES-128/CCM(8)", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
160 Ciphersuite(0xC0AB,
"PSK_DHE_WITH_AES_256_CCM_8",
"",
"DHE_PSK",
"AES-256/CCM(8)", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
161 Ciphersuite(0xC0AC,
"ECDHE_ECDSA_WITH_AES_128_CCM",
"ECDSA",
"ECDH",
"AES-128/CCM", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
162 Ciphersuite(0xC0AD,
"ECDHE_ECDSA_WITH_AES_256_CCM",
"ECDSA",
"ECDH",
"AES-256/CCM", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
163 Ciphersuite(0xC0AE,
"ECDHE_ECDSA_WITH_AES_128_CCM_8",
"ECDSA",
"ECDH",
"AES-128/CCM(8)", 16, 4, 8,
"AEAD", 0,
"SHA-256"),
164 Ciphersuite(0xC0AF,
"ECDHE_ECDSA_WITH_AES_256_CCM_8",
"ECDSA",
"ECDH",
"AES-256/CCM(8)", 32, 4, 8,
"AEAD", 0,
"SHA-256"),
165 Ciphersuite(0xCC13,
"ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"RSA",
"ECDH",
"ChaCha20Poly1305", 32, 0, 0,
"AEAD", 0,
"SHA-256"),
166 Ciphersuite(0xCC14,
"ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"ECDSA",
"ECDH",
"ChaCha20Poly1305", 32, 0, 0,
"AEAD", 0,
"SHA-256"),
167 Ciphersuite(0xCC15,
"DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"RSA",
"DH",
"ChaCha20Poly1305", 32, 0, 0,
"AEAD", 0,
"SHA-256"),
168 Ciphersuite(0xCCA8,
"ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"RSA",
"ECDH",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
169 Ciphersuite(0xCCA9,
"ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"ECDSA",
"ECDH",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
170 Ciphersuite(0xCCAA,
"DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"RSA",
"DH",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
171 Ciphersuite(0xCCAB,
"PSK_WITH_CHACHA20_POLY1305_SHA256",
"",
"PSK",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
172 Ciphersuite(0xCCAC,
"ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
"",
"ECDHE_PSK",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
173 Ciphersuite(0xCCAD,
"DHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
"",
"DHE_PSK",
"ChaCha20Poly1305", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
174 Ciphersuite(0xFFC0,
"DHE_RSA_WITH_AES_128_OCB_SHA256",
"RSA",
"DH",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
175 Ciphersuite(0xFFC1,
"DHE_RSA_WITH_AES_256_OCB_SHA256",
"RSA",
"DH",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
176 Ciphersuite(0xFFC2,
"ECDHE_RSA_WITH_AES_128_OCB_SHA256",
"RSA",
"ECDH",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
177 Ciphersuite(0xFFC3,
"ECDHE_RSA_WITH_AES_256_OCB_SHA256",
"RSA",
"ECDH",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
178 Ciphersuite(0xFFC4,
"ECDHE_ECDSA_WITH_AES_128_OCB_SHA256",
"ECDSA",
"ECDH",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
179 Ciphersuite(0xFFC5,
"ECDHE_ECDSA_WITH_AES_256_OCB_SHA256",
"ECDSA",
"ECDH",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
180 Ciphersuite(0xFFC6,
"PSK_WITH_AES_128_OCB_SHA256",
"",
"PSK",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
181 Ciphersuite(0xFFC7,
"PSK_WITH_AES_256_OCB_SHA256",
"",
"PSK",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
182 Ciphersuite(0xFFC8,
"DHE_PSK_WITH_AES_128_OCB_SHA256",
"",
"DHE_PSK",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
183 Ciphersuite(0xFFC9,
"DHE_PSK_WITH_AES_256_OCB_SHA256",
"",
"DHE_PSK",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
184 Ciphersuite(0xFFCA,
"ECDHE_PSK_WITH_AES_128_OCB_SHA256",
"",
"ECDHE_PSK",
"AES-128/OCB(12)", 16, 12, 0,
"AEAD", 0,
"SHA-256"),
185 Ciphersuite(0xFFCB,
"ECDHE_PSK_WITH_AES_256_OCB_SHA256",
"",
"ECDHE_PSK",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
186 Ciphersuite(0xFFCC,
"CECPQ1_RSA_WITH_AES_256_OCB_SHA256",
"RSA",
"CECPQ1",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
187 Ciphersuite(0xFFCD,
"CECPQ1_ECDSA_WITH_AES_256_OCB_SHA256",
"ECDSA",
"CECPQ1",
"AES-256/OCB(12)", 32, 12, 0,
"AEAD", 0,
"SHA-256"),
190 return g_ciphersuite_list;
static const std::vector< Ciphersuite > & all_known_ciphersuites()