Botan
1.11.15
|
00001 /* 00002 * TLS cipher suite information 00003 * 00004 * This file was automatically generated from the IANA assignments 00005 * (tls-parameters.txt hash 4bc98b6f75ad5b63952b5f457fa7adbfef60f095) 00006 * by ./src/scripts/tls_suite_info.py on 2015-01-30 00007 * 00008 * Botan is released under the Simplified BSD License (see license.txt) 00009 */ 00010 00011 #include <botan/tls_ciphersuite.h> 00012 00013 namespace Botan { 00014 00015 namespace TLS { 00016 00017 Ciphersuite Ciphersuite::by_id(u16bit suite) 00018 { 00019 switch(suite) 00020 { 00021 case 0x0013: // DHE_DSS_WITH_3DES_EDE_CBC_SHA 00022 return Ciphersuite(0x0013, "DSA", "DH", "3DES", 24, 8, 0, "SHA-1", 20); 00023 00024 case 0x0032: // DHE_DSS_WITH_AES_128_CBC_SHA 00025 return Ciphersuite(0x0032, "DSA", "DH", "AES-128", 16, 16, 0, "SHA-1", 20); 00026 00027 case 0x0040: // DHE_DSS_WITH_AES_128_CBC_SHA256 00028 return Ciphersuite(0x0040, "DSA", "DH", "AES-128", 16, 16, 0, "SHA-256", 32); 00029 00030 case 0x00A2: // DHE_DSS_WITH_AES_128_GCM_SHA256 00031 return Ciphersuite(0x00A2, "DSA", "DH", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00032 00033 case 0x0038: // DHE_DSS_WITH_AES_256_CBC_SHA 00034 return Ciphersuite(0x0038, "DSA", "DH", "AES-256", 32, 16, 0, "SHA-1", 20); 00035 00036 case 0x006A: // DHE_DSS_WITH_AES_256_CBC_SHA256 00037 return Ciphersuite(0x006A, "DSA", "DH", "AES-256", 32, 16, 0, "SHA-256", 32); 00038 00039 case 0x00A3: // DHE_DSS_WITH_AES_256_GCM_SHA384 00040 return Ciphersuite(0x00A3, "DSA", "DH", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00041 00042 case 0x0044: // DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 00043 return Ciphersuite(0x0044, "DSA", "DH", "Camellia-128", 16, 16, 0, "SHA-1", 20); 00044 00045 case 0x00BD: // DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 00046 return Ciphersuite(0x00BD, "DSA", "DH", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00047 00048 case 0xC080: // DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 00049 return Ciphersuite(0xC080, "DSA", "DH", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00050 00051 case 0x0087: // DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 00052 return Ciphersuite(0x0087, "DSA", "DH", "Camellia-256", 32, 16, 0, "SHA-1", 20); 00053 00054 case 0x00C3: // DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 00055 return Ciphersuite(0x00C3, "DSA", "DH", "Camellia-256", 32, 16, 0, "SHA-256", 32); 00056 00057 case 0xC081: // DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 00058 return Ciphersuite(0xC081, "DSA", "DH", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00059 00060 case 0x0066: // DHE_DSS_WITH_RC4_128_SHA 00061 return Ciphersuite(0x0066, "DSA", "DH", "RC4", 16, 0, 0, "SHA-1", 20); 00062 00063 case 0x0099: // DHE_DSS_WITH_SEED_CBC_SHA 00064 return Ciphersuite(0x0099, "DSA", "DH", "SEED", 16, 16, 0, "SHA-1", 20); 00065 00066 case 0x008F: // DHE_PSK_WITH_3DES_EDE_CBC_SHA 00067 return Ciphersuite(0x008F, "", "DHE_PSK", "3DES", 24, 8, 0, "SHA-1", 20); 00068 00069 case 0x0090: // DHE_PSK_WITH_AES_128_CBC_SHA 00070 return Ciphersuite(0x0090, "", "DHE_PSK", "AES-128", 16, 16, 0, "SHA-1", 20); 00071 00072 case 0x00B2: // DHE_PSK_WITH_AES_128_CBC_SHA256 00073 return Ciphersuite(0x00B2, "", "DHE_PSK", "AES-128", 16, 16, 0, "SHA-256", 32); 00074 00075 case 0xC0A6: // DHE_PSK_WITH_AES_128_CCM 00076 return Ciphersuite(0xC0A6, "", "DHE_PSK", "AES-128/CCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00077 00078 case 0x00AA: // DHE_PSK_WITH_AES_128_GCM_SHA256 00079 return Ciphersuite(0x00AA, "", "DHE_PSK", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00080 00081 case 0xFFFA: // DHE_PSK_WITH_AES_128_OCB_SHA256 00082 return Ciphersuite(0xFFFA, "", "DHE_PSK", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00083 00084 case 0x0091: // DHE_PSK_WITH_AES_256_CBC_SHA 00085 return Ciphersuite(0x0091, "", "DHE_PSK", "AES-256", 32, 16, 0, "SHA-1", 20); 00086 00087 case 0x00B3: // DHE_PSK_WITH_AES_256_CBC_SHA384 00088 return Ciphersuite(0x00B3, "", "DHE_PSK", "AES-256", 32, 16, 0, "SHA-384", 48); 00089 00090 case 0xC0A7: // DHE_PSK_WITH_AES_256_CCM 00091 return Ciphersuite(0xC0A7, "", "DHE_PSK", "AES-256/CCM", 32, 4, 8, "AEAD", 0, "SHA-256"); 00092 00093 case 0x00AB: // DHE_PSK_WITH_AES_256_GCM_SHA384 00094 return Ciphersuite(0x00AB, "", "DHE_PSK", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00095 00096 case 0xFFFB: // DHE_PSK_WITH_AES_256_OCB_SHA256 00097 return Ciphersuite(0xFFFB, "", "DHE_PSK", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00098 00099 case 0xC096: // DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 00100 return Ciphersuite(0xC096, "", "DHE_PSK", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00101 00102 case 0xC090: // DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 00103 return Ciphersuite(0xC090, "", "DHE_PSK", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00104 00105 case 0xC097: // DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 00106 return Ciphersuite(0xC097, "", "DHE_PSK", "Camellia-256", 32, 16, 0, "SHA-384", 48); 00107 00108 case 0xC091: // DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 00109 return Ciphersuite(0xC091, "", "DHE_PSK", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00110 00111 case 0x008E: // DHE_PSK_WITH_RC4_128_SHA 00112 return Ciphersuite(0x008E, "", "DHE_PSK", "RC4", 16, 0, 0, "SHA-1", 20); 00113 00114 case 0x0016: // DHE_RSA_WITH_3DES_EDE_CBC_SHA 00115 return Ciphersuite(0x0016, "RSA", "DH", "3DES", 24, 8, 0, "SHA-1", 20); 00116 00117 case 0x0033: // DHE_RSA_WITH_AES_128_CBC_SHA 00118 return Ciphersuite(0x0033, "RSA", "DH", "AES-128", 16, 16, 0, "SHA-1", 20); 00119 00120 case 0x0067: // DHE_RSA_WITH_AES_128_CBC_SHA256 00121 return Ciphersuite(0x0067, "RSA", "DH", "AES-128", 16, 16, 0, "SHA-256", 32); 00122 00123 case 0xC09E: // DHE_RSA_WITH_AES_128_CCM 00124 return Ciphersuite(0xC09E, "RSA", "DH", "AES-128/CCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00125 00126 case 0xC0A2: // DHE_RSA_WITH_AES_128_CCM_8 00127 return Ciphersuite(0xC0A2, "RSA", "DH", "AES-128/CCM(8)", 16, 4, 8, "AEAD", 0, "SHA-256"); 00128 00129 case 0x009E: // DHE_RSA_WITH_AES_128_GCM_SHA256 00130 return Ciphersuite(0x009E, "RSA", "DH", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00131 00132 case 0xFFF4: // DHE_RSA_WITH_AES_128_OCB_SHA256 00133 return Ciphersuite(0xFFF4, "RSA", "DH", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00134 00135 case 0x0039: // DHE_RSA_WITH_AES_256_CBC_SHA 00136 return Ciphersuite(0x0039, "RSA", "DH", "AES-256", 32, 16, 0, "SHA-1", 20); 00137 00138 case 0x006B: // DHE_RSA_WITH_AES_256_CBC_SHA256 00139 return Ciphersuite(0x006B, "RSA", "DH", "AES-256", 32, 16, 0, "SHA-256", 32); 00140 00141 case 0xC09F: // DHE_RSA_WITH_AES_256_CCM 00142 return Ciphersuite(0xC09F, "RSA", "DH", "AES-256/CCM", 32, 4, 8, "AEAD", 0, "SHA-256"); 00143 00144 case 0xC0A3: // DHE_RSA_WITH_AES_256_CCM_8 00145 return Ciphersuite(0xC0A3, "RSA", "DH", "AES-256/CCM(8)", 32, 4, 8, "AEAD", 0, "SHA-256"); 00146 00147 case 0x009F: // DHE_RSA_WITH_AES_256_GCM_SHA384 00148 return Ciphersuite(0x009F, "RSA", "DH", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00149 00150 case 0xFFF5: // DHE_RSA_WITH_AES_256_OCB_SHA256 00151 return Ciphersuite(0xFFF5, "RSA", "DH", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00152 00153 case 0x0045: // DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 00154 return Ciphersuite(0x0045, "RSA", "DH", "Camellia-128", 16, 16, 0, "SHA-1", 20); 00155 00156 case 0x00BE: // DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 00157 return Ciphersuite(0x00BE, "RSA", "DH", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00158 00159 case 0xC07C: // DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 00160 return Ciphersuite(0xC07C, "RSA", "DH", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00161 00162 case 0x0088: // DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 00163 return Ciphersuite(0x0088, "RSA", "DH", "Camellia-256", 32, 16, 0, "SHA-1", 20); 00164 00165 case 0x00C4: // DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 00166 return Ciphersuite(0x00C4, "RSA", "DH", "Camellia-256", 32, 16, 0, "SHA-256", 32); 00167 00168 case 0xC07D: // DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 00169 return Ciphersuite(0xC07D, "RSA", "DH", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00170 00171 case 0xCC15: // DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 00172 return Ciphersuite(0xCC15, "RSA", "DH", "ChaCha20Poly1305", 32, 0, 0, "AEAD", 0, "SHA-256"); 00173 00174 case 0x009A: // DHE_RSA_WITH_SEED_CBC_SHA 00175 return Ciphersuite(0x009A, "RSA", "DH", "SEED", 16, 16, 0, "SHA-1", 20); 00176 00177 case 0x001B: // DH_anon_WITH_3DES_EDE_CBC_SHA 00178 return Ciphersuite(0x001B, "", "DH", "3DES", 24, 8, 0, "SHA-1", 20); 00179 00180 case 0x0034: // DH_anon_WITH_AES_128_CBC_SHA 00181 return Ciphersuite(0x0034, "", "DH", "AES-128", 16, 16, 0, "SHA-1", 20); 00182 00183 case 0x006C: // DH_anon_WITH_AES_128_CBC_SHA256 00184 return Ciphersuite(0x006C, "", "DH", "AES-128", 16, 16, 0, "SHA-256", 32); 00185 00186 case 0x00A6: // DH_anon_WITH_AES_128_GCM_SHA256 00187 return Ciphersuite(0x00A6, "", "DH", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00188 00189 case 0x003A: // DH_anon_WITH_AES_256_CBC_SHA 00190 return Ciphersuite(0x003A, "", "DH", "AES-256", 32, 16, 0, "SHA-1", 20); 00191 00192 case 0x006D: // DH_anon_WITH_AES_256_CBC_SHA256 00193 return Ciphersuite(0x006D, "", "DH", "AES-256", 32, 16, 0, "SHA-256", 32); 00194 00195 case 0x00A7: // DH_anon_WITH_AES_256_GCM_SHA384 00196 return Ciphersuite(0x00A7, "", "DH", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00197 00198 case 0x0046: // DH_anon_WITH_CAMELLIA_128_CBC_SHA 00199 return Ciphersuite(0x0046, "", "DH", "Camellia-128", 16, 16, 0, "SHA-1", 20); 00200 00201 case 0x00BF: // DH_anon_WITH_CAMELLIA_128_CBC_SHA256 00202 return Ciphersuite(0x00BF, "", "DH", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00203 00204 case 0xC084: // DH_anon_WITH_CAMELLIA_128_GCM_SHA256 00205 return Ciphersuite(0xC084, "", "DH", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00206 00207 case 0x0089: // DH_anon_WITH_CAMELLIA_256_CBC_SHA 00208 return Ciphersuite(0x0089, "", "DH", "Camellia-256", 32, 16, 0, "SHA-1", 20); 00209 00210 case 0x00C5: // DH_anon_WITH_CAMELLIA_256_CBC_SHA256 00211 return Ciphersuite(0x00C5, "", "DH", "Camellia-256", 32, 16, 0, "SHA-256", 32); 00212 00213 case 0xC085: // DH_anon_WITH_CAMELLIA_256_GCM_SHA384 00214 return Ciphersuite(0xC085, "", "DH", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00215 00216 case 0x0018: // DH_anon_WITH_RC4_128_MD5 00217 return Ciphersuite(0x0018, "", "DH", "RC4", 16, 0, 0, "MD5", 16); 00218 00219 case 0x009B: // DH_anon_WITH_SEED_CBC_SHA 00220 return Ciphersuite(0x009B, "", "DH", "SEED", 16, 16, 0, "SHA-1", 20); 00221 00222 case 0xC008: // ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 00223 return Ciphersuite(0xC008, "ECDSA", "ECDH", "3DES", 24, 8, 0, "SHA-1", 20); 00224 00225 case 0xC009: // ECDHE_ECDSA_WITH_AES_128_CBC_SHA 00226 return Ciphersuite(0xC009, "ECDSA", "ECDH", "AES-128", 16, 16, 0, "SHA-1", 20); 00227 00228 case 0xC023: // ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 00229 return Ciphersuite(0xC023, "ECDSA", "ECDH", "AES-128", 16, 16, 0, "SHA-256", 32); 00230 00231 case 0xC0AC: // ECDHE_ECDSA_WITH_AES_128_CCM 00232 return Ciphersuite(0xC0AC, "ECDSA", "ECDH", "AES-128/CCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00233 00234 case 0xC0AE: // ECDHE_ECDSA_WITH_AES_128_CCM_8 00235 return Ciphersuite(0xC0AE, "ECDSA", "ECDH", "AES-128/CCM(8)", 16, 4, 8, "AEAD", 0, "SHA-256"); 00236 00237 case 0xC02B: // ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 00238 return Ciphersuite(0xC02B, "ECDSA", "ECDH", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00239 00240 case 0xFFF2: // ECDHE_ECDSA_WITH_AES_128_OCB_SHA256 00241 return Ciphersuite(0xFFF2, "ECDSA", "ECDH", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00242 00243 case 0xC00A: // ECDHE_ECDSA_WITH_AES_256_CBC_SHA 00244 return Ciphersuite(0xC00A, "ECDSA", "ECDH", "AES-256", 32, 16, 0, "SHA-1", 20); 00245 00246 case 0xC024: // ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 00247 return Ciphersuite(0xC024, "ECDSA", "ECDH", "AES-256", 32, 16, 0, "SHA-384", 48); 00248 00249 case 0xC0AD: // ECDHE_ECDSA_WITH_AES_256_CCM 00250 return Ciphersuite(0xC0AD, "ECDSA", "ECDH", "AES-256/CCM", 32, 4, 8, "AEAD", 0, "SHA-256"); 00251 00252 case 0xC0AF: // ECDHE_ECDSA_WITH_AES_256_CCM_8 00253 return Ciphersuite(0xC0AF, "ECDSA", "ECDH", "AES-256/CCM(8)", 32, 4, 8, "AEAD", 0, "SHA-256"); 00254 00255 case 0xC02C: // ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 00256 return Ciphersuite(0xC02C, "ECDSA", "ECDH", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00257 00258 case 0xFFF3: // ECDHE_ECDSA_WITH_AES_256_OCB_SHA256 00259 return Ciphersuite(0xFFF3, "ECDSA", "ECDH", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00260 00261 case 0xC072: // ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 00262 return Ciphersuite(0xC072, "ECDSA", "ECDH", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00263 00264 case 0xC086: // ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 00265 return Ciphersuite(0xC086, "ECDSA", "ECDH", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00266 00267 case 0xC073: // ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 00268 return Ciphersuite(0xC073, "ECDSA", "ECDH", "Camellia-256", 32, 16, 0, "SHA-384", 48); 00269 00270 case 0xC087: // ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 00271 return Ciphersuite(0xC087, "ECDSA", "ECDH", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00272 00273 case 0xCC14: // ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 00274 return Ciphersuite(0xCC14, "ECDSA", "ECDH", "ChaCha20Poly1305", 32, 0, 0, "AEAD", 0, "SHA-256"); 00275 00276 case 0xC007: // ECDHE_ECDSA_WITH_RC4_128_SHA 00277 return Ciphersuite(0xC007, "ECDSA", "ECDH", "RC4", 16, 0, 0, "SHA-1", 20); 00278 00279 case 0xC034: // ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 00280 return Ciphersuite(0xC034, "", "ECDHE_PSK", "3DES", 24, 8, 0, "SHA-1", 20); 00281 00282 case 0xC035: // ECDHE_PSK_WITH_AES_128_CBC_SHA 00283 return Ciphersuite(0xC035, "", "ECDHE_PSK", "AES-128", 16, 16, 0, "SHA-1", 20); 00284 00285 case 0xC037: // ECDHE_PSK_WITH_AES_128_CBC_SHA256 00286 return Ciphersuite(0xC037, "", "ECDHE_PSK", "AES-128", 16, 16, 0, "SHA-256", 32); 00287 00288 case 0xFFF8: // ECDHE_PSK_WITH_AES_128_OCB_SHA256 00289 return Ciphersuite(0xFFF8, "", "ECDHE_PSK", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00290 00291 case 0xC036: // ECDHE_PSK_WITH_AES_256_CBC_SHA 00292 return Ciphersuite(0xC036, "", "ECDHE_PSK", "AES-256", 32, 16, 0, "SHA-1", 20); 00293 00294 case 0xC038: // ECDHE_PSK_WITH_AES_256_CBC_SHA384 00295 return Ciphersuite(0xC038, "", "ECDHE_PSK", "AES-256", 32, 16, 0, "SHA-384", 48); 00296 00297 case 0xFFF9: // ECDHE_PSK_WITH_AES_256_OCB_SHA256 00298 return Ciphersuite(0xFFF9, "", "ECDHE_PSK", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00299 00300 case 0xC09A: // ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 00301 return Ciphersuite(0xC09A, "", "ECDHE_PSK", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00302 00303 case 0xC09B: // ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 00304 return Ciphersuite(0xC09B, "", "ECDHE_PSK", "Camellia-256", 32, 16, 0, "SHA-384", 48); 00305 00306 case 0xC033: // ECDHE_PSK_WITH_RC4_128_SHA 00307 return Ciphersuite(0xC033, "", "ECDHE_PSK", "RC4", 16, 0, 0, "SHA-1", 20); 00308 00309 case 0xC012: // ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 00310 return Ciphersuite(0xC012, "RSA", "ECDH", "3DES", 24, 8, 0, "SHA-1", 20); 00311 00312 case 0xC013: // ECDHE_RSA_WITH_AES_128_CBC_SHA 00313 return Ciphersuite(0xC013, "RSA", "ECDH", "AES-128", 16, 16, 0, "SHA-1", 20); 00314 00315 case 0xC027: // ECDHE_RSA_WITH_AES_128_CBC_SHA256 00316 return Ciphersuite(0xC027, "RSA", "ECDH", "AES-128", 16, 16, 0, "SHA-256", 32); 00317 00318 case 0xC02F: // ECDHE_RSA_WITH_AES_128_GCM_SHA256 00319 return Ciphersuite(0xC02F, "RSA", "ECDH", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00320 00321 case 0xFFF0: // ECDHE_RSA_WITH_AES_128_OCB_SHA256 00322 return Ciphersuite(0xFFF0, "RSA", "ECDH", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00323 00324 case 0xC014: // ECDHE_RSA_WITH_AES_256_CBC_SHA 00325 return Ciphersuite(0xC014, "RSA", "ECDH", "AES-256", 32, 16, 0, "SHA-1", 20); 00326 00327 case 0xC028: // ECDHE_RSA_WITH_AES_256_CBC_SHA384 00328 return Ciphersuite(0xC028, "RSA", "ECDH", "AES-256", 32, 16, 0, "SHA-384", 48); 00329 00330 case 0xC030: // ECDHE_RSA_WITH_AES_256_GCM_SHA384 00331 return Ciphersuite(0xC030, "RSA", "ECDH", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00332 00333 case 0xFFF1: // ECDHE_RSA_WITH_AES_256_OCB_SHA256 00334 return Ciphersuite(0xFFF1, "RSA", "ECDH", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00335 00336 case 0xC076: // ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 00337 return Ciphersuite(0xC076, "RSA", "ECDH", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00338 00339 case 0xC08A: // ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 00340 return Ciphersuite(0xC08A, "RSA", "ECDH", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00341 00342 case 0xC077: // ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 00343 return Ciphersuite(0xC077, "RSA", "ECDH", "Camellia-256", 32, 16, 0, "SHA-384", 48); 00344 00345 case 0xC08B: // ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 00346 return Ciphersuite(0xC08B, "RSA", "ECDH", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00347 00348 case 0xCC13: // ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 00349 return Ciphersuite(0xCC13, "RSA", "ECDH", "ChaCha20Poly1305", 32, 0, 0, "AEAD", 0, "SHA-256"); 00350 00351 case 0xC011: // ECDHE_RSA_WITH_RC4_128_SHA 00352 return Ciphersuite(0xC011, "RSA", "ECDH", "RC4", 16, 0, 0, "SHA-1", 20); 00353 00354 case 0xC017: // ECDH_anon_WITH_3DES_EDE_CBC_SHA 00355 return Ciphersuite(0xC017, "", "ECDH", "3DES", 24, 8, 0, "SHA-1", 20); 00356 00357 case 0xC018: // ECDH_anon_WITH_AES_128_CBC_SHA 00358 return Ciphersuite(0xC018, "", "ECDH", "AES-128", 16, 16, 0, "SHA-1", 20); 00359 00360 case 0xC019: // ECDH_anon_WITH_AES_256_CBC_SHA 00361 return Ciphersuite(0xC019, "", "ECDH", "AES-256", 32, 16, 0, "SHA-1", 20); 00362 00363 case 0xC016: // ECDH_anon_WITH_RC4_128_SHA 00364 return Ciphersuite(0xC016, "", "ECDH", "RC4", 16, 0, 0, "SHA-1", 20); 00365 00366 case 0xC0AA: // PSK_DHE_WITH_AES_128_CCM_8 00367 return Ciphersuite(0xC0AA, "", "DHE_PSK", "AES-128/CCM(8)", 16, 4, 8, "AEAD", 0, "SHA-256"); 00368 00369 case 0xC0AB: // PSK_DHE_WITH_AES_256_CCM_8 00370 return Ciphersuite(0xC0AB, "", "DHE_PSK", "AES-256/CCM(8)", 32, 4, 8, "AEAD", 0, "SHA-256"); 00371 00372 case 0x008B: // PSK_WITH_3DES_EDE_CBC_SHA 00373 return Ciphersuite(0x008B, "", "PSK", "3DES", 24, 8, 0, "SHA-1", 20); 00374 00375 case 0x008C: // PSK_WITH_AES_128_CBC_SHA 00376 return Ciphersuite(0x008C, "", "PSK", "AES-128", 16, 16, 0, "SHA-1", 20); 00377 00378 case 0x00AE: // PSK_WITH_AES_128_CBC_SHA256 00379 return Ciphersuite(0x00AE, "", "PSK", "AES-128", 16, 16, 0, "SHA-256", 32); 00380 00381 case 0xC0A4: // PSK_WITH_AES_128_CCM 00382 return Ciphersuite(0xC0A4, "", "PSK", "AES-128/CCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00383 00384 case 0xC0A8: // PSK_WITH_AES_128_CCM_8 00385 return Ciphersuite(0xC0A8, "", "PSK", "AES-128/CCM(8)", 16, 4, 8, "AEAD", 0, "SHA-256"); 00386 00387 case 0x00A8: // PSK_WITH_AES_128_GCM_SHA256 00388 return Ciphersuite(0x00A8, "", "PSK", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00389 00390 case 0xFFF6: // PSK_WITH_AES_128_OCB_SHA256 00391 return Ciphersuite(0xFFF6, "", "PSK", "AES-128/OCB(12)", 16, 4, 0, "AEAD", 0, "SHA-256"); 00392 00393 case 0x008D: // PSK_WITH_AES_256_CBC_SHA 00394 return Ciphersuite(0x008D, "", "PSK", "AES-256", 32, 16, 0, "SHA-1", 20); 00395 00396 case 0x00AF: // PSK_WITH_AES_256_CBC_SHA384 00397 return Ciphersuite(0x00AF, "", "PSK", "AES-256", 32, 16, 0, "SHA-384", 48); 00398 00399 case 0xC0A5: // PSK_WITH_AES_256_CCM 00400 return Ciphersuite(0xC0A5, "", "PSK", "AES-256/CCM", 32, 4, 8, "AEAD", 0, "SHA-256"); 00401 00402 case 0xC0A9: // PSK_WITH_AES_256_CCM_8 00403 return Ciphersuite(0xC0A9, "", "PSK", "AES-256/CCM(8)", 32, 4, 8, "AEAD", 0, "SHA-256"); 00404 00405 case 0x00A9: // PSK_WITH_AES_256_GCM_SHA384 00406 return Ciphersuite(0x00A9, "", "PSK", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00407 00408 case 0xFFF7: // PSK_WITH_AES_256_OCB_SHA256 00409 return Ciphersuite(0xFFF7, "", "PSK", "AES-256/OCB(12)", 32, 4, 0, "AEAD", 0, "SHA-256"); 00410 00411 case 0xC094: // PSK_WITH_CAMELLIA_128_CBC_SHA256 00412 return Ciphersuite(0xC094, "", "PSK", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00413 00414 case 0xC08E: // PSK_WITH_CAMELLIA_128_GCM_SHA256 00415 return Ciphersuite(0xC08E, "", "PSK", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00416 00417 case 0xC095: // PSK_WITH_CAMELLIA_256_CBC_SHA384 00418 return Ciphersuite(0xC095, "", "PSK", "Camellia-256", 32, 16, 0, "SHA-384", 48); 00419 00420 case 0xC08F: // PSK_WITH_CAMELLIA_256_GCM_SHA384 00421 return Ciphersuite(0xC08F, "", "PSK", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00422 00423 case 0x008A: // PSK_WITH_RC4_128_SHA 00424 return Ciphersuite(0x008A, "", "PSK", "RC4", 16, 0, 0, "SHA-1", 20); 00425 00426 case 0x000A: // RSA_WITH_3DES_EDE_CBC_SHA 00427 return Ciphersuite(0x000A, "RSA", "RSA", "3DES", 24, 8, 0, "SHA-1", 20); 00428 00429 case 0x002F: // RSA_WITH_AES_128_CBC_SHA 00430 return Ciphersuite(0x002F, "RSA", "RSA", "AES-128", 16, 16, 0, "SHA-1", 20); 00431 00432 case 0x003C: // RSA_WITH_AES_128_CBC_SHA256 00433 return Ciphersuite(0x003C, "RSA", "RSA", "AES-128", 16, 16, 0, "SHA-256", 32); 00434 00435 case 0xC09C: // RSA_WITH_AES_128_CCM 00436 return Ciphersuite(0xC09C, "RSA", "RSA", "AES-128/CCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00437 00438 case 0xC0A0: // RSA_WITH_AES_128_CCM_8 00439 return Ciphersuite(0xC0A0, "RSA", "RSA", "AES-128/CCM(8)", 16, 4, 8, "AEAD", 0, "SHA-256"); 00440 00441 case 0x009C: // RSA_WITH_AES_128_GCM_SHA256 00442 return Ciphersuite(0x009C, "RSA", "RSA", "AES-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00443 00444 case 0x0035: // RSA_WITH_AES_256_CBC_SHA 00445 return Ciphersuite(0x0035, "RSA", "RSA", "AES-256", 32, 16, 0, "SHA-1", 20); 00446 00447 case 0x003D: // RSA_WITH_AES_256_CBC_SHA256 00448 return Ciphersuite(0x003D, "RSA", "RSA", "AES-256", 32, 16, 0, "SHA-256", 32); 00449 00450 case 0xC09D: // RSA_WITH_AES_256_CCM 00451 return Ciphersuite(0xC09D, "RSA", "RSA", "AES-256/CCM", 32, 4, 8, "AEAD", 0, "SHA-256"); 00452 00453 case 0xC0A1: // RSA_WITH_AES_256_CCM_8 00454 return Ciphersuite(0xC0A1, "RSA", "RSA", "AES-256/CCM(8)", 32, 4, 8, "AEAD", 0, "SHA-256"); 00455 00456 case 0x009D: // RSA_WITH_AES_256_GCM_SHA384 00457 return Ciphersuite(0x009D, "RSA", "RSA", "AES-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00458 00459 case 0x0041: // RSA_WITH_CAMELLIA_128_CBC_SHA 00460 return Ciphersuite(0x0041, "RSA", "RSA", "Camellia-128", 16, 16, 0, "SHA-1", 20); 00461 00462 case 0x00BA: // RSA_WITH_CAMELLIA_128_CBC_SHA256 00463 return Ciphersuite(0x00BA, "RSA", "RSA", "Camellia-128", 16, 16, 0, "SHA-256", 32); 00464 00465 case 0xC07A: // RSA_WITH_CAMELLIA_128_GCM_SHA256 00466 return Ciphersuite(0xC07A, "RSA", "RSA", "Camellia-128/GCM", 16, 4, 8, "AEAD", 0, "SHA-256"); 00467 00468 case 0x0084: // RSA_WITH_CAMELLIA_256_CBC_SHA 00469 return Ciphersuite(0x0084, "RSA", "RSA", "Camellia-256", 32, 16, 0, "SHA-1", 20); 00470 00471 case 0x00C0: // RSA_WITH_CAMELLIA_256_CBC_SHA256 00472 return Ciphersuite(0x00C0, "RSA", "RSA", "Camellia-256", 32, 16, 0, "SHA-256", 32); 00473 00474 case 0xC07B: // RSA_WITH_CAMELLIA_256_GCM_SHA384 00475 return Ciphersuite(0xC07B, "RSA", "RSA", "Camellia-256/GCM", 32, 4, 8, "AEAD", 0, "SHA-384"); 00476 00477 case 0x0004: // RSA_WITH_RC4_128_MD5 00478 return Ciphersuite(0x0004, "RSA", "RSA", "RC4", 16, 0, 0, "MD5", 16); 00479 00480 case 0x0005: // RSA_WITH_RC4_128_SHA 00481 return Ciphersuite(0x0005, "RSA", "RSA", "RC4", 16, 0, 0, "SHA-1", 20); 00482 00483 case 0x0096: // RSA_WITH_SEED_CBC_SHA 00484 return Ciphersuite(0x0096, "RSA", "RSA", "SEED", 16, 16, 0, "SHA-1", 20); 00485 00486 case 0xC01C: // SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 00487 return Ciphersuite(0xC01C, "DSA", "SRP_SHA", "3DES", 24, 8, 0, "SHA-1", 20); 00488 00489 case 0xC01F: // SRP_SHA_DSS_WITH_AES_128_CBC_SHA 00490 return Ciphersuite(0xC01F, "DSA", "SRP_SHA", "AES-128", 16, 16, 0, "SHA-1", 20); 00491 00492 case 0xC022: // SRP_SHA_DSS_WITH_AES_256_CBC_SHA 00493 return Ciphersuite(0xC022, "DSA", "SRP_SHA", "AES-256", 32, 16, 0, "SHA-1", 20); 00494 00495 case 0xC01B: // SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 00496 return Ciphersuite(0xC01B, "RSA", "SRP_SHA", "3DES", 24, 8, 0, "SHA-1", 20); 00497 00498 case 0xC01E: // SRP_SHA_RSA_WITH_AES_128_CBC_SHA 00499 return Ciphersuite(0xC01E, "RSA", "SRP_SHA", "AES-128", 16, 16, 0, "SHA-1", 20); 00500 00501 case 0xC021: // SRP_SHA_RSA_WITH_AES_256_CBC_SHA 00502 return Ciphersuite(0xC021, "RSA", "SRP_SHA", "AES-256", 32, 16, 0, "SHA-1", 20); 00503 00504 case 0xC01A: // SRP_SHA_WITH_3DES_EDE_CBC_SHA 00505 return Ciphersuite(0xC01A, "", "SRP_SHA", "3DES", 24, 8, 0, "SHA-1", 20); 00506 00507 case 0xC01D: // SRP_SHA_WITH_AES_128_CBC_SHA 00508 return Ciphersuite(0xC01D, "", "SRP_SHA", "AES-128", 16, 16, 0, "SHA-1", 20); 00509 00510 case 0xC020: // SRP_SHA_WITH_AES_256_CBC_SHA 00511 return Ciphersuite(0xC020, "", "SRP_SHA", "AES-256", 32, 16, 0, "SHA-1", 20); 00512 00513 } 00514 00515 return Ciphersuite(); // some unknown ciphersuite 00516 } 00517 00518 } 00519 00520 }