go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/network/resources/tlsshake/ciphers.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package tlsshake
     5  
     6  var SSL2_CIPHERS = map[string]string{
     7  	"\x01\x00\x80": "SSL_CK_RC4_128_WITH_MD5",
     8  	"\x02\x00\x80": "SSL_CK_RC4_128_EXPORT40_WITH_MD5",
     9  	"\x03\x00\x80": "SSL_CK_RC2_128_CBC_WITH_MD5",
    10  	"\x04\x00\x80": "SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5",
    11  	"\x05\x00\x80": "SSL_CK_IDEA_128_CBC_WITH_MD5",
    12  	"\x06\x00\x40": "SSL_CK_DES_64_CBC_WITH_MD5",
    13  	"\x07\x00\xC0": "SSL_CK_DES_192_EDE3_CBC_WITH_MD5",
    14  	"\x08\x00\x80": "SSL_CK_RC4_64_WITH_MD5",
    15  }
    16  
    17  var SSL_FIPS_CIPHERS = map[string]string{
    18  	"\xFE\xFE": "SSL_RSA_FIPS_WITH_DES_CBC_SHA",
    19  	"\xFE\xFF": "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA",
    20  	"\xFF\xE0": "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA",
    21  	"\xFF\xE1": "SSL_RSA_FIPS_WITH_DES_CBC_SHA",
    22  }
    23  
    24  // https://datatracker.ietf.org/doc/html/rfc6101#appendix-A.6
    25  var SSL3_CIPHERS = map[string]string{
    26  	"\x00\x00": "SSL_NULL_WITH_NULL_NULL",
    27  	"\x00\x01": "SSL_RSA_WITH_NULL_MD5",
    28  	"\x00\x02": "SSL_RSA_WITH_NULL_SHA",
    29  	"\x00\x03": "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
    30  	"\x00\x04": "SSL_RSA_WITH_RC4_128_MD5",
    31  	"\x00\x05": "SSL_RSA_WITH_RC4_128_SHA",
    32  	"\x00\x06": "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
    33  	"\x00\x07": "SSL_RSA_WITH_IDEA_CBC_SHA",
    34  	"\x00\x08": "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
    35  	"\x00\x09": "SSL_RSA_WITH_DES_CBC_SHA",
    36  	"\x00\x0A": "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
    37  	"\x00\x0B": "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
    38  	"\x00\x0C": "SSL_DH_DSS_WITH_DES_CBC_SHA",
    39  	"\x00\x0D": "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA",
    40  	"\x00\x0E": "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
    41  	"\x00\x0F": "SSL_DH_RSA_WITH_DES_CBC_SHA",
    42  	"\x00\x10": "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA",
    43  	"\x00\x11": "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
    44  	"\x00\x12": "SSL_DHE_DSS_WITH_DES_CBC_SHA",
    45  	"\x00\x13": "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
    46  	"\x00\x14": "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
    47  	"\x00\x15": "SSL_DHE_RSA_WITH_DES_CBC_SHA",
    48  	"\x00\x16": "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
    49  	"\x00\x17": "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",
    50  	"\x00\x18": "SSL_DH_anon_WITH_RC4_128_MD5",
    51  	"\x00\x19": "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
    52  	"\x00\x1A": "SSL_DH_anon_WITH_DES_CBC_SHA",
    53  	"\x00\x1B": "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA",
    54  	// TODO: we may want to add back the FORTEZZA ciphers?
    55  }
    56  
    57  // TLS 1.2 https://datatracker.ietf.org/doc/html/rfc5246
    58  
    59  var TLS10_CIPHERS = map[string]string{
    60  	"\x00\x00": "TLS_NULL_WITH_NULL_NULL",
    61  	"\x00\x01": "TLS_RSA_WITH_NULL_MD5",
    62  	"\x00\x02": "TLS_RSA_WITH_NULL_SHA",
    63  	"\x00\x03": "TLS_RSA_EXPORT_WITH_RC4_40_MD5",
    64  	"\x00\x04": "TLS_RSA_WITH_RC4_128_MD5",
    65  	"\x00\x05": "TLS_RSA_WITH_RC4_128_SHA",
    66  	"\x00\x06": "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
    67  	"\x00\x07": "TLS_RSA_WITH_IDEA_CBC_SHA",
    68  	"\x00\x08": "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
    69  	"\x00\x09": "TLS_RSA_WITH_DES_CBC_SHA",
    70  	"\x00\x0A": "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
    71  	"\x00\x0B": "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
    72  	"\x00\x0C": "TLS_DH_DSS_WITH_DES_CBC_SHA",
    73  	"\x00\x0D": "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
    74  	"\x00\x0E": "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
    75  	"\x00\x0F": "TLS_DH_RSA_WITH_DES_CBC_SHA",
    76  	"\x00\x10": "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
    77  	"\x00\x11": "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
    78  	"\x00\x12": "TLS_DHE_DSS_WITH_DES_CBC_SHA",
    79  	"\x00\x13": "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
    80  	"\x00\x14": "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
    81  	"\x00\x15": "TLS_DHE_RSA_WITH_DES_CBC_SHA",
    82  	"\x00\x16": "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
    83  	"\x00\x17": "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5",
    84  	"\x00\x18": "TLS_DH_anon_WITH_RC4_128_MD5",
    85  	"\x00\x19": "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
    86  	"\x00\x1A": "TLS_DH_anon_WITH_DES_CBC_SHA",
    87  	"\x00\x1B": "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
    88  	"\x00\x1E": "TLS_KRB5_WITH_DES_CBC_SHA",
    89  	"\x00\x1F": "TLS_KRB5_WITH_3DES_EDE_CBC_SHA",
    90  	"\x00\x20": "TLS_KRB5_WITH_RC4_128_SHA",
    91  	"\x00\x21": "TLS_KRB5_WITH_IDEA_CBC_SHA",
    92  	"\x00\x22": "TLS_KRB5_WITH_DES_CBC_MD5",
    93  	"\x00\x23": "TLS_KRB5_WITH_3DES_EDE_CBC_MD5",
    94  	"\x00\x24": "TLS_KRB5_WITH_RC4_128_MD5",
    95  	"\x00\x25": "TLS_KRB5_WITH_IDEA_CBC_MD5",
    96  	"\x00\x26": "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA",
    97  	"\x00\x27": "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA",
    98  	"\x00\x28": "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",
    99  	"\x00\x29": "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5",
   100  	"\x00\x2A": "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5",
   101  	"\x00\x2B": "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",
   102  	"\x00\x2C": "TLS_PSK_WITH_NULL_SHA",
   103  	"\x00\x2D": "TLS_DHE_PSK_WITH_NULL_SHA",
   104  	"\x00\x2E": "TLS_RSA_PSK_WITH_NULL_SHA",
   105  	"\x00\x2F": "TLS_RSA_WITH_AES_128_CBC_SHA",
   106  	"\x00\x30": "TLS_DH_DSS_WITH_AES_128_CBC_SHA",
   107  	"\x00\x31": "TLS_DH_RSA_WITH_AES_128_CBC_SHA",
   108  	"\x00\x32": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
   109  	"\x00\x33": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
   110  	"\x00\x34": "TLS_DH_anon_WITH_AES_128_CBC_SHA",
   111  	"\x00\x35": "TLS_RSA_WITH_AES_256_CBC_SHA",
   112  	"\x00\x36": "TLS_DH_DSS_WITH_AES_256_CBC_SHA",
   113  	"\x00\x37": "TLS_DH_RSA_WITH_AES_256_CBC_SHA",
   114  	"\x00\x38": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
   115  	"\x00\x39": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
   116  	"\x00\x3A": "TLS_DH_anon_WITH_AES_256_CBC_SHA",
   117  	"\x00\x3B": "TLS_RSA_WITH_NULL_SHA256",
   118  	"\x00\x3C": "TLS_RSA_WITH_AES_128_CBC_SHA256",
   119  	"\x00\x3D": "TLS_RSA_WITH_AES_256_CBC_SHA256",
   120  	"\x00\x3E": "TLS_DH_DSS_WITH_AES_128_CBC_SHA256",
   121  	"\x00\x3F": "TLS_DH_RSA_WITH_AES_128_CBC_SHA256",
   122  	"\x00\x40": "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
   123  	"\x00\x41": "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA",
   124  	"\x00\x42": "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA",
   125  	"\x00\x43": "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA",
   126  	"\x00\x44": "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA",
   127  	"\x00\x45": "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
   128  	"\x00\x46": "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA",
   129  	"\x00\x60": "TLS_RSA_EXPORT1024_WITH_RC4_56_MD5",
   130  	"\x00\x61": "TLS_RSA_EXPORT1024_WITH_RC2_56_MD5",
   131  	"\x00\x62": "TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA",
   132  	"\x00\x63": "TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA",
   133  	"\x00\x64": "TLS_RSA_EXPORT1024_WITH_RC4_56_SHA",
   134  	"\x00\x65": "TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA",
   135  	"\x00\x66": "TLS_DHE_DSS_WITH_RC4_128_SHA",
   136  	"\x00\x67": "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
   137  	"\x00\x68": "TLS_DH_DSS_WITH_AES_256_CBC_SHA256",
   138  	"\x00\x69": "TLS_DH_RSA_WITH_AES_256_CBC_SHA256",
   139  	"\x00\x6A": "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
   140  	"\x00\x6B": "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
   141  	"\x00\x6C": "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
   142  	"\x00\x6D": "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
   143  	"\x00\x80": "TLS_GOSTR341094_WITH_28147_CNT_IMIT",
   144  	"\x00\x81": "TLS_GOSTR341001_WITH_28147_CNT_IMIT",
   145  	"\x00\x82": "TLS_GOSTR341094_WITH_NULL_GOSTR3411",
   146  	"\x00\x83": "TLS_GOSTR341001_WITH_NULL_GOSTR3411",
   147  	"\x00\x84": "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA",
   148  	"\x00\x85": "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA",
   149  	"\x00\x86": "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA",
   150  	"\x00\x87": "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA",
   151  	"\x00\x88": "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
   152  	"\x00\x89": "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA",
   153  	"\x00\x8A": "TLS_PSK_WITH_RC4_128_SHA",
   154  	"\x00\x8B": "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
   155  	"\x00\x8C": "TLS_PSK_WITH_AES_128_CBC_SHA",
   156  	"\x00\x8D": "TLS_PSK_WITH_AES_256_CBC_SHA",
   157  	"\x00\x8E": "TLS_DHE_PSK_WITH_RC4_128_SHA",
   158  	"\x00\x8F": "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA",
   159  	"\x00\x90": "TLS_DHE_PSK_WITH_AES_128_CBC_SHA",
   160  	"\x00\x91": "TLS_DHE_PSK_WITH_AES_256_CBC_SHA",
   161  	"\x00\x92": "TLS_RSA_PSK_WITH_RC4_128_SHA",
   162  	"\x00\x93": "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA",
   163  	"\x00\x94": "TLS_RSA_PSK_WITH_AES_128_CBC_SHA",
   164  	"\x00\x95": "TLS_RSA_PSK_WITH_AES_256_CBC_SHA",
   165  	"\x00\x96": "TLS_RSA_WITH_SEED_CBC_SHA",
   166  	"\x00\x97": "TLS_DH_DSS_WITH_SEED_CBC_SHA",
   167  	"\x00\x98": "TLS_DH_RSA_WITH_SEED_CBC_SHA",
   168  	"\x00\x99": "TLS_DHE_DSS_WITH_SEED_CBC_SHA",
   169  	"\x00\x9A": "TLS_DHE_RSA_WITH_SEED_CBC_SHA",
   170  	"\x00\x9B": "TLS_DH_anon_WITH_SEED_CBC_SHA",
   171  	"\x00\x9C": "TLS_RSA_WITH_AES_128_GCM_SHA256",
   172  	"\x00\x9D": "TLS_RSA_WITH_AES_256_GCM_SHA384",
   173  	"\x00\x9E": "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
   174  	"\x00\x9F": "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
   175  	"\x00\xA0": "TLS_DH_RSA_WITH_AES_128_GCM_SHA256",
   176  	"\x00\xA1": "TLS_DH_RSA_WITH_AES_256_GCM_SHA384",
   177  	"\x00\xA2": "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
   178  	"\x00\xA3": "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
   179  	"\x00\xA4": "TLS_DH_DSS_WITH_AES_128_GCM_SHA256",
   180  	"\x00\xA5": "TLS_DH_DSS_WITH_AES_256_GCM_SHA384",
   181  	"\x00\xA6": "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
   182  	"\x00\xA7": "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
   183  	"\x00\xA8": "TLS_PSK_WITH_AES_128_GCM_SHA256",
   184  	"\x00\xA9": "TLS_PSK_WITH_AES_256_GCM_SHA384",
   185  	"\x00\xAA": "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256",
   186  	"\x00\xAB": "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384",
   187  	"\x00\xAC": "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256",
   188  	"\x00\xAD": "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384",
   189  	"\x00\xAE": "TLS_PSK_WITH_AES_128_CBC_SHA256",
   190  	"\x00\xAF": "TLS_PSK_WITH_AES_256_CBC_SHA384",
   191  	"\x00\xB0": "TLS_PSK_WITH_NULL_SHA256",
   192  	"\x00\xB1": "TLS_PSK_WITH_NULL_SHA384",
   193  	"\x00\xB2": "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256",
   194  	"\x00\xB3": "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384",
   195  	"\x00\xB4": "TLS_DHE_PSK_WITH_NULL_SHA256",
   196  	"\x00\xB5": "TLS_DHE_PSK_WITH_NULL_SHA384",
   197  	"\x00\xB6": "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256",
   198  	"\x00\xB7": "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384",
   199  	"\x00\xB8": "TLS_RSA_PSK_WITH_NULL_SHA256",
   200  	"\x00\xB9": "TLS_RSA_PSK_WITH_NULL_SHA384",
   201  	"\x00\xBA": "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256",
   202  	"\x00\xBB": "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256",
   203  	"\x00\xBC": "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
   204  	"\x00\xBD": "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256",
   205  	"\x00\xBE": "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
   206  	"\x00\xBF": "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256",
   207  	"\x00\xC0": "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256",
   208  	"\x00\xC1": "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256",
   209  	"\x00\xC2": "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256",
   210  	"\x00\xC3": "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256",
   211  	"\x00\xC4": "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
   212  	"\x00\xC5": "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256",
   213  	// We do not include the next cipher by default, because it may trigger the
   214  	// renegotiation request. See https://datatracker.ietf.org/doc/html/rfc5746
   215  	// "\x00\xFF": "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
   216  }
   217  
   218  var TLS13_CIPHERS = map[string]string{
   219  	// See https://tools.ietf.org/html/rfc8446#appendix-B.4
   220  	"\x13\x01": "TLS_AES_128_GCM_SHA256",
   221  	"\x13\x02": "TLS_AES_256_GCM_SHA384",
   222  	"\x13\x03": "TLS_CHACHA20_POLY1305_SHA256",
   223  	"\x13\x04": "TLS_AES_128_CCM_SHA256",
   224  	"\x13\x05": "TLS_AES_128_CCM_8_SHA256",
   225  }
   226  
   227  var TLS_CIPHERS = map[string]string{
   228  	"\xC0\x01": "TLS_ECDH_ECDSA_WITH_NULL_SHA",
   229  	"\xC0\x02": "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
   230  	"\xC0\x03": "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
   231  	"\xC0\x04": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
   232  	"\xC0\x05": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
   233  	"\xC0\x06": "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
   234  	"\xC0\x07": "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
   235  	"\xC0\x08": "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
   236  	"\xC0\x09": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
   237  	"\xC0\x0A": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
   238  	"\xC0\x0B": "TLS_ECDH_RSA_WITH_NULL_SHA",
   239  	"\xC0\x0C": "TLS_ECDH_RSA_WITH_RC4_128_SHA",
   240  	"\xC0\x0D": "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
   241  	"\xC0\x0E": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
   242  	"\xC0\x0F": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
   243  	"\xC0\x10": "TLS_ECDHE_RSA_WITH_NULL_SHA",
   244  	"\xC0\x11": "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
   245  	"\xC0\x12": "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
   246  	"\xC0\x13": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
   247  	"\xC0\x14": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
   248  	"\xC0\x15": "TLS_ECDH_anon_WITH_NULL_SHA",
   249  	"\xC0\x16": "TLS_ECDH_anon_WITH_RC4_128_SHA",
   250  	"\xC0\x17": "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
   251  	"\xC0\x18": "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
   252  	"\xC0\x19": "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
   253  	"\xC0\x1A": "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA",
   254  	"\xC0\x1B": "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA",
   255  	"\xC0\x1C": "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA",
   256  	"\xC0\x1D": "TLS_SRP_SHA_WITH_AES_128_CBC_SHA",
   257  	"\xC0\x1E": "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA",
   258  	"\xC0\x1F": "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA",
   259  	"\xC0\x20": "TLS_SRP_SHA_WITH_AES_256_CBC_SHA",
   260  	"\xC0\x21": "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA",
   261  	"\xC0\x22": "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA",
   262  	"\xC0\x23": "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
   263  	"\xC0\x24": "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
   264  	"\xC0\x25": "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
   265  	"\xC0\x26": "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
   266  	"\xC0\x27": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
   267  	"\xC0\x28": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
   268  	"\xC0\x29": "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
   269  	"\xC0\x2A": "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
   270  	"\xC0\x2B": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
   271  	"\xC0\x2C": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
   272  	"\xC0\x2D": "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
   273  	"\xC0\x2E": "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
   274  	"\xC0\x2F": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
   275  	"\xC0\x30": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
   276  	"\xC0\x31": "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
   277  	"\xC0\x32": "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
   278  	"\xC0\x33": "TLS_ECDHE_PSK_WITH_RC4_128_SHA",
   279  	"\xC0\x34": "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA",
   280  	"\xC0\x35": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
   281  	"\xC0\x36": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
   282  	"\xC0\x37": "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256",
   283  	"\xC0\x38": "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384",
   284  	"\xC0\x39": "TLS_ECDHE_PSK_WITH_NULL_SHA",
   285  	"\xC0\x3A": "TLS_ECDHE_PSK_WITH_NULL_SHA256",
   286  	"\xC0\x3B": "TLS_ECDHE_PSK_WITH_NULL_SHA384",
   287  	"\xC0\x3C": "TLS_RSA_WITH_ARIA_128_CBC_SHA256",
   288  	"\xC0\x3D": "TLS_RSA_WITH_ARIA_256_CBC_SHA384",
   289  	"\xC0\x3E": "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256",
   290  	"\xC0\x3F": "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384",
   291  	"\xC0\x40": "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256",
   292  	"\xC0\x41": "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384",
   293  	"\xC0\x42": "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256",
   294  	"\xC0\x43": "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384",
   295  	"\xC0\x44": "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256",
   296  	"\xC0\x45": "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384",
   297  	"\xC0\x46": "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256",
   298  	"\xC0\x47": "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384",
   299  	"\xC0\x48": "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256",
   300  	"\xC0\x49": "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384",
   301  	"\xC0\x4A": "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256",
   302  	"\xC0\x4B": "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384",
   303  	"\xC0\x4C": "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256",
   304  	"\xC0\x4D": "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384",
   305  	"\xC0\x4E": "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256",
   306  	"\xC0\x4F": "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384",
   307  	"\xC0\x50": "TLS_RSA_WITH_ARIA_128_GCM_SHA256",
   308  	"\xC0\x51": "TLS_RSA_WITH_ARIA_256_GCM_SHA384",
   309  	"\xC0\x52": "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256",
   310  	"\xC0\x53": "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384",
   311  	"\xC0\x54": "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256",
   312  	"\xC0\x55": "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384",
   313  	"\xC0\x56": "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256",
   314  	"\xC0\x57": "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384",
   315  	"\xC0\x58": "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256",
   316  	"\xC0\x59": "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384",
   317  	"\xC0\x5A": "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256",
   318  	"\xC0\x5B": "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384",
   319  	"\xC0\x5C": "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256",
   320  	"\xC0\x5D": "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384",
   321  	"\xC0\x5E": "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256",
   322  	"\xC0\x5F": "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384",
   323  	"\xC0\x60": "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256",
   324  	"\xC0\x61": "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384",
   325  	"\xC0\x62": "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256",
   326  	"\xC0\x63": "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384",
   327  	"\xC0\x64": "TLS_PSK_WITH_ARIA_128_CBC_SHA256",
   328  	"\xC0\x65": "TLS_PSK_WITH_ARIA_256_CBC_SHA384",
   329  	"\xC0\x66": "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256",
   330  	"\xC0\x67": "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384",
   331  	"\xC0\x68": "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256",
   332  	"\xC0\x69": "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384",
   333  	"\xC0\x6A": "TLS_PSK_WITH_ARIA_128_GCM_SHA256",
   334  	"\xC0\x6B": "TLS_PSK_WITH_ARIA_256_GCM_SHA384",
   335  	"\xC0\x6C": "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256",
   336  	"\xC0\x6D": "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384",
   337  	"\xC0\x6E": "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256",
   338  	"\xC0\x6F": "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384",
   339  	"\xC0\x70": "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256",
   340  	"\xC0\x71": "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384",
   341  	"\xC0\x72": "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
   342  	"\xC0\x73": "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
   343  	"\xC0\x74": "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
   344  	"\xC0\x75": "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
   345  	"\xC0\x76": "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
   346  	"\xC0\x77": "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
   347  	"\xC0\x78": "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
   348  	"\xC0\x79": "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384",
   349  	"\xC0\x7A": "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256",
   350  	"\xC0\x7B": "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384",
   351  	"\xC0\x7C": "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
   352  	"\xC0\x7D": "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
   353  	"\xC0\x7E": "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
   354  	"\xC0\x7F": "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
   355  	"\xC0\x80": "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256",
   356  	"\xC0\x81": "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384",
   357  	"\xC0\x82": "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256",
   358  	"\xC0\x83": "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384",
   359  	"\xC0\x84": "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256",
   360  	"\xC0\x85": "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384",
   361  	"\xC0\x86": "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
   362  	"\xC0\x87": "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
   363  	"\xC0\x88": "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
   364  	"\xC0\x89": "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
   365  	"\xC0\x8A": "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
   366  	"\xC0\x8B": "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
   367  	"\xC0\x8C": "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
   368  	"\xC0\x8D": "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
   369  	"\xC0\x8E": "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256",
   370  	"\xC0\x8F": "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384",
   371  	"\xC0\x90": "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
   372  	"\xC0\x91": "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
   373  	"\xC0\x92": "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256",
   374  	"\xC0\x93": "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384",
   375  	"\xC0\x94": "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256",
   376  	"\xC0\x95": "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384",
   377  	"\xC0\x96": "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
   378  	"\xC0\x97": "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
   379  	"\xC0\x98": "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256",
   380  	"\xC0\x99": "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384",
   381  	"\xC0\x9A": "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
   382  	"\xC0\x9B": "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
   383  	"\xC0\x9C": "TLS_RSA_WITH_AES_128_CCM",
   384  	"\xC0\x9D": "TLS_RSA_WITH_AES_256_CCM",
   385  	"\xC0\x9E": "TLS_DHE_RSA_WITH_AES_128_CCM",
   386  	"\xC0\x9F": "TLS_DHE_RSA_WITH_AES_256_CCM",
   387  	"\xC0\xA0": "TLS_RSA_WITH_AES_128_CCM_8",
   388  	"\xC0\xA1": "TLS_RSA_WITH_AES_256_CCM_8",
   389  	"\xC0\xA2": "TLS_DHE_RSA_WITH_AES_128_CCM_8",
   390  	"\xC0\xA3": "TLS_DHE_RSA_WITH_AES_256_CCM_8",
   391  	"\xC0\xA4": "TLS_PSK_WITH_AES_128_CCM",
   392  	"\xC0\xA5": "TLS_PSK_WITH_AES_256_CCM",
   393  	"\xC0\xA6": "TLS_DHE_PSK_WITH_AES_128_CCM",
   394  	"\xC0\xA7": "TLS_DHE_PSK_WITH_AES_256_CCM",
   395  	"\xC0\xA8": "TLS_PSK_WITH_AES_128_CCM_8",
   396  	"\xC0\xA9": "TLS_PSK_WITH_AES_256_CCM_8",
   397  	"\xC0\xAA": "TLS_PSK_DHE_WITH_AES_128_CCM_8",
   398  	"\xC0\xAB": "TLS_PSK_DHE_WITH_AES_256_CCM_8",
   399  	"\xC0\xAC": "TLS_ECDHE_ECDSA_WITH_AES_128_CCM",
   400  	"\xC0\xAD": "TLS_ECDHE_ECDSA_WITH_AES_256_CCM",
   401  	"\xC0\xAE": "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
   402  	"\xC0\xAF": "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8",
   403  	"\xCC\xA8": "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
   404  	"\xCC\xA9": "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
   405  	"\xCC\xAA": "TLS_DHE_RSA_WITH_CHACHA20_POLY1305",
   406  	"\xCC\xAB": "TLS_PSK_WITH_CHACHA20_POLY1305",
   407  	"\xCC\xAC": "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305",
   408  	"\xCC\xAD": "TLS_DHE_PSK_WITH_CHACHA20_POLY1305",
   409  	"\xCC\xAE": "TLS_RSA_PSK_WITH_CHACHA20_POLY1305",
   410  	"\xCC\x13": "OLD_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
   411  	"\xCC\x14": "OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
   412  	"\xCC\x15": "OLD_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
   413  }
   414  
   415  const (
   416  	TLS_FALLBACK_SCSV = "\x56\x00"
   417  )