Home | History | Annotate | Download | only in http2
      1 // Copyright 2017 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 package http2
      6 
      7 // A list of the possible cipher suite ids. Taken from
      8 // https://www.iana.org/assignments/tls-parameters/tls-parameters.txt
      9 
     10 const (
     11 	cipher_TLS_NULL_WITH_NULL_NULL               uint16 = 0x0000
     12 	cipher_TLS_RSA_WITH_NULL_MD5                 uint16 = 0x0001
     13 	cipher_TLS_RSA_WITH_NULL_SHA                 uint16 = 0x0002
     14 	cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5        uint16 = 0x0003
     15 	cipher_TLS_RSA_WITH_RC4_128_MD5              uint16 = 0x0004
     16 	cipher_TLS_RSA_WITH_RC4_128_SHA              uint16 = 0x0005
     17 	cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5    uint16 = 0x0006
     18 	cipher_TLS_RSA_WITH_IDEA_CBC_SHA             uint16 = 0x0007
     19 	cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA     uint16 = 0x0008
     20 	cipher_TLS_RSA_WITH_DES_CBC_SHA              uint16 = 0x0009
     21 	cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0x000A
     22 	cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000B
     23 	cipher_TLS_DH_DSS_WITH_DES_CBC_SHA           uint16 = 0x000C
     24 	cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA      uint16 = 0x000D
     25 	cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000E
     26 	cipher_TLS_DH_RSA_WITH_DES_CBC_SHA           uint16 = 0x000F
     27 	cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA      uint16 = 0x0010
     28 	cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011
     29 	cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA          uint16 = 0x0012
     30 	cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0013
     31 	cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014
     32 	cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA          uint16 = 0x0015
     33 	cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0016
     34 	cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5    uint16 = 0x0017
     35 	cipher_TLS_DH_anon_WITH_RC4_128_MD5          uint16 = 0x0018
     36 	cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019
     37 	cipher_TLS_DH_anon_WITH_DES_CBC_SHA          uint16 = 0x001A
     38 	cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA     uint16 = 0x001B
     39 	// Reserved uint16 =  0x001C-1D
     40 	cipher_TLS_KRB5_WITH_DES_CBC_SHA             uint16 = 0x001E
     41 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA        uint16 = 0x001F
     42 	cipher_TLS_KRB5_WITH_RC4_128_SHA             uint16 = 0x0020
     43 	cipher_TLS_KRB5_WITH_IDEA_CBC_SHA            uint16 = 0x0021
     44 	cipher_TLS_KRB5_WITH_DES_CBC_MD5             uint16 = 0x0022
     45 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5        uint16 = 0x0023
     46 	cipher_TLS_KRB5_WITH_RC4_128_MD5             uint16 = 0x0024
     47 	cipher_TLS_KRB5_WITH_IDEA_CBC_MD5            uint16 = 0x0025
     48 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA   uint16 = 0x0026
     49 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA   uint16 = 0x0027
     50 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA       uint16 = 0x0028
     51 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5   uint16 = 0x0029
     52 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5   uint16 = 0x002A
     53 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5       uint16 = 0x002B
     54 	cipher_TLS_PSK_WITH_NULL_SHA                 uint16 = 0x002C
     55 	cipher_TLS_DHE_PSK_WITH_NULL_SHA             uint16 = 0x002D
     56 	cipher_TLS_RSA_PSK_WITH_NULL_SHA             uint16 = 0x002E
     57 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA          uint16 = 0x002F
     58 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA       uint16 = 0x0030
     59 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA       uint16 = 0x0031
     60 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA      uint16 = 0x0032
     61 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA      uint16 = 0x0033
     62 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA      uint16 = 0x0034
     63 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA          uint16 = 0x0035
     64 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA       uint16 = 0x0036
     65 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA       uint16 = 0x0037
     66 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA      uint16 = 0x0038
     67 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA      uint16 = 0x0039
     68 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA      uint16 = 0x003A
     69 	cipher_TLS_RSA_WITH_NULL_SHA256              uint16 = 0x003B
     70 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA256       uint16 = 0x003C
     71 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA256       uint16 = 0x003D
     72 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256    uint16 = 0x003E
     73 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256    uint16 = 0x003F
     74 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256   uint16 = 0x0040
     75 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA     uint16 = 0x0041
     76 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0042
     77 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0043
     78 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044
     79 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045
     80 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046
     81 	// Reserved uint16 =  0x0047-4F
     82 	// Reserved uint16 =  0x0050-58
     83 	// Reserved uint16 =  0x0059-5C
     84 	// Unassigned uint16 =  0x005D-5F
     85 	// Reserved uint16 =  0x0060-66
     86 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067
     87 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256  uint16 = 0x0068
     88 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256  uint16 = 0x0069
     89 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A
     90 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B
     91 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C
     92 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D
     93 	// Unassigned uint16 =  0x006E-83
     94 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        uint16 = 0x0084
     95 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0085
     96 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0086
     97 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0087
     98 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0088
     99 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0089
    100 	cipher_TLS_PSK_WITH_RC4_128_SHA                 uint16 = 0x008A
    101 	cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA            uint16 = 0x008B
    102 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA             uint16 = 0x008C
    103 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA             uint16 = 0x008D
    104 	cipher_TLS_DHE_PSK_WITH_RC4_128_SHA             uint16 = 0x008E
    105 	cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x008F
    106 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0090
    107 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0091
    108 	cipher_TLS_RSA_PSK_WITH_RC4_128_SHA             uint16 = 0x0092
    109 	cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x0093
    110 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0094
    111 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0095
    112 	cipher_TLS_RSA_WITH_SEED_CBC_SHA                uint16 = 0x0096
    113 	cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA             uint16 = 0x0097
    114 	cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA             uint16 = 0x0098
    115 	cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA            uint16 = 0x0099
    116 	cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA            uint16 = 0x009A
    117 	cipher_TLS_DH_anon_WITH_SEED_CBC_SHA            uint16 = 0x009B
    118 	cipher_TLS_RSA_WITH_AES_128_GCM_SHA256          uint16 = 0x009C
    119 	cipher_TLS_RSA_WITH_AES_256_GCM_SHA384          uint16 = 0x009D
    120 	cipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256      uint16 = 0x009E
    121 	cipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      uint16 = 0x009F
    122 	cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256       uint16 = 0x00A0
    123 	cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384       uint16 = 0x00A1
    124 	cipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      uint16 = 0x00A2
    125 	cipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      uint16 = 0x00A3
    126 	cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256       uint16 = 0x00A4
    127 	cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384       uint16 = 0x00A5
    128 	cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256      uint16 = 0x00A6
    129 	cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384      uint16 = 0x00A7
    130 	cipher_TLS_PSK_WITH_AES_128_GCM_SHA256          uint16 = 0x00A8
    131 	cipher_TLS_PSK_WITH_AES_256_GCM_SHA384          uint16 = 0x00A9
    132 	cipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AA
    133 	cipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AB
    134 	cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AC
    135 	cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AD
    136 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA256          uint16 = 0x00AE
    137 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA384          uint16 = 0x00AF
    138 	cipher_TLS_PSK_WITH_NULL_SHA256                 uint16 = 0x00B0
    139 	cipher_TLS_PSK_WITH_NULL_SHA384                 uint16 = 0x00B1
    140 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B2
    141 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B3
    142 	cipher_TLS_DHE_PSK_WITH_NULL_SHA256             uint16 = 0x00B4
    143 	cipher_TLS_DHE_PSK_WITH_NULL_SHA384             uint16 = 0x00B5
    144 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B6
    145 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B7
    146 	cipher_TLS_RSA_PSK_WITH_NULL_SHA256             uint16 = 0x00B8
    147 	cipher_TLS_RSA_PSK_WITH_NULL_SHA384             uint16 = 0x00B9
    148 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0x00BA
    149 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BB
    150 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BC
    151 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD
    152 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE
    153 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF
    154 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256     uint16 = 0x00C0
    155 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C1
    156 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C2
    157 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3
    158 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4
    159 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5
    160 	// Unassigned uint16 =  0x00C6-FE
    161 	cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF
    162 	// Unassigned uint16 =  0x01-55,*
    163 	cipher_TLS_FALLBACK_SCSV uint16 = 0x5600
    164 	// Unassigned                                   uint16 = 0x5601 - 0xC000
    165 	cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA                 uint16 = 0xC001
    166 	cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA              uint16 = 0xC002
    167 	cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0xC003
    168 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA          uint16 = 0xC004
    169 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA          uint16 = 0xC005
    170 	cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA                uint16 = 0xC006
    171 	cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA             uint16 = 0xC007
    172 	cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC008
    173 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA         uint16 = 0xC009
    174 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA         uint16 = 0xC00A
    175 	cipher_TLS_ECDH_RSA_WITH_NULL_SHA                   uint16 = 0xC00B
    176 	cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA                uint16 = 0xC00C
    177 	cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA           uint16 = 0xC00D
    178 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA            uint16 = 0xC00E
    179 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA            uint16 = 0xC00F
    180 	cipher_TLS_ECDHE_RSA_WITH_NULL_SHA                  uint16 = 0xC010
    181 	cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA               uint16 = 0xC011
    182 	cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC012
    183 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA           uint16 = 0xC013
    184 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA           uint16 = 0xC014
    185 	cipher_TLS_ECDH_anon_WITH_NULL_SHA                  uint16 = 0xC015
    186 	cipher_TLS_ECDH_anon_WITH_RC4_128_SHA               uint16 = 0xC016
    187 	cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC017
    188 	cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA           uint16 = 0xC018
    189 	cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA           uint16 = 0xC019
    190 	cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA            uint16 = 0xC01A
    191 	cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01B
    192 	cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01C
    193 	cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA             uint16 = 0xC01D
    194 	cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA         uint16 = 0xC01E
    195 	cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA         uint16 = 0xC01F
    196 	cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA             uint16 = 0xC020
    197 	cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA         uint16 = 0xC021
    198 	cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA         uint16 = 0xC022
    199 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256      uint16 = 0xC023
    200 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384      uint16 = 0xC024
    201 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256       uint16 = 0xC025
    202 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384       uint16 = 0xC026
    203 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256        uint16 = 0xC027
    204 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384        uint16 = 0xC028
    205 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256         uint16 = 0xC029
    206 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384         uint16 = 0xC02A
    207 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256      uint16 = 0xC02B
    208 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384      uint16 = 0xC02C
    209 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256       uint16 = 0xC02D
    210 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384       uint16 = 0xC02E
    211 	cipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256        uint16 = 0xC02F
    212 	cipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384        uint16 = 0xC030
    213 	cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256         uint16 = 0xC031
    214 	cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384         uint16 = 0xC032
    215 	cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA               uint16 = 0xC033
    216 	cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC034
    217 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA           uint16 = 0xC035
    218 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA           uint16 = 0xC036
    219 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256        uint16 = 0xC037
    220 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384        uint16 = 0xC038
    221 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA                  uint16 = 0xC039
    222 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256               uint16 = 0xC03A
    223 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384               uint16 = 0xC03B
    224 	cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC03C
    225 	cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC03D
    226 	cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC03E
    227 	cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC03F
    228 	cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC040
    229 	cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC041
    230 	cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC042
    231 	cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC043
    232 	cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC044
    233 	cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC045
    234 	cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC046
    235 	cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC047
    236 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256     uint16 = 0xC048
    237 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384     uint16 = 0xC049
    238 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256      uint16 = 0xC04A
    239 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384      uint16 = 0xC04B
    240 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC04C
    241 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC04D
    242 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256        uint16 = 0xC04E
    243 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384        uint16 = 0xC04F
    244 	cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC050
    245 	cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC051
    246 	cipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC052
    247 	cipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC053
    248 	cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC054
    249 	cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC055
    250 	cipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC056
    251 	cipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC057
    252 	cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC058
    253 	cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC059
    254 	cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC05A
    255 	cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC05B
    256 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     uint16 = 0xC05C
    257 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     uint16 = 0xC05D
    258 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      uint16 = 0xC05E
    259 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      uint16 = 0xC05F
    260 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       uint16 = 0xC060
    261 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       uint16 = 0xC061
    262 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        uint16 = 0xC062
    263 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        uint16 = 0xC063
    264 	cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC064
    265 	cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC065
    266 	cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC066
    267 	cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC067
    268 	cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC068
    269 	cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC069
    270 	cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC06A
    271 	cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC06B
    272 	cipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06C
    273 	cipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06D
    274 	cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06E
    275 	cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06F
    276 	cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC070
    277 	cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC071
    278 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072
    279 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073
    280 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0xC074
    281 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  uint16 = 0xC075
    282 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC076
    283 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC077
    284 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    uint16 = 0xC078
    285 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    uint16 = 0xC079
    286 	cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC07A
    287 	cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC07B
    288 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC07C
    289 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC07D
    290 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC07E
    291 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC07F
    292 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC080
    293 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC081
    294 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC082
    295 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC083
    296 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC084
    297 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC085
    298 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086
    299 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087
    300 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  uint16 = 0xC088
    301 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  uint16 = 0xC089
    302 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256   uint16 = 0xC08A
    303 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384   uint16 = 0xC08B
    304 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256    uint16 = 0xC08C
    305 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384    uint16 = 0xC08D
    306 	cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC08E
    307 	cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC08F
    308 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC090
    309 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC091
    310 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC092
    311 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC093
    312 	cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256         uint16 = 0xC094
    313 	cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384         uint16 = 0xC095
    314 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC096
    315 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC097
    316 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC098
    317 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC099
    318 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC09A
    319 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC09B
    320 	cipher_TLS_RSA_WITH_AES_128_CCM                     uint16 = 0xC09C
    321 	cipher_TLS_RSA_WITH_AES_256_CCM                     uint16 = 0xC09D
    322 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM                 uint16 = 0xC09E
    323 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM                 uint16 = 0xC09F
    324 	cipher_TLS_RSA_WITH_AES_128_CCM_8                   uint16 = 0xC0A0
    325 	cipher_TLS_RSA_WITH_AES_256_CCM_8                   uint16 = 0xC0A1
    326 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM_8               uint16 = 0xC0A2
    327 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM_8               uint16 = 0xC0A3
    328 	cipher_TLS_PSK_WITH_AES_128_CCM                     uint16 = 0xC0A4
    329 	cipher_TLS_PSK_WITH_AES_256_CCM                     uint16 = 0xC0A5
    330 	cipher_TLS_DHE_PSK_WITH_AES_128_CCM                 uint16 = 0xC0A6
    331 	cipher_TLS_DHE_PSK_WITH_AES_256_CCM                 uint16 = 0xC0A7
    332 	cipher_TLS_PSK_WITH_AES_128_CCM_8                   uint16 = 0xC0A8
    333 	cipher_TLS_PSK_WITH_AES_256_CCM_8                   uint16 = 0xC0A9
    334 	cipher_TLS_PSK_DHE_WITH_AES_128_CCM_8               uint16 = 0xC0AA
    335 	cipher_TLS_PSK_DHE_WITH_AES_256_CCM_8               uint16 = 0xC0AB
    336 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM             uint16 = 0xC0AC
    337 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM             uint16 = 0xC0AD
    338 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8           uint16 = 0xC0AE
    339 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8           uint16 = 0xC0AF
    340 	// Unassigned uint16 =  0xC0B0-FF
    341 	// Unassigned uint16 =  0xC1-CB,*
    342 	// Unassigned uint16 =  0xCC00-A7
    343 	cipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCA8
    344 	cipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9
    345 	cipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAA
    346 	cipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         uint16 = 0xCCAB
    347 	cipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCAC
    348 	cipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAD
    349 	cipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAE
    350 )
    351 
    352 // isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.
    353 // References:
    354 // https://tools.ietf.org/html/rfc7540#appendix-A
    355 // Reject cipher suites from Appendix A.
    356 // "This list includes those cipher suites that do not
    357 // offer an ephemeral key exchange and those that are
    358 // based on the TLS null, stream or block cipher type"
    359 func isBadCipher(cipher uint16) bool {
    360 	switch cipher {
    361 	case cipher_TLS_NULL_WITH_NULL_NULL,
    362 		cipher_TLS_RSA_WITH_NULL_MD5,
    363 		cipher_TLS_RSA_WITH_NULL_SHA,
    364 		cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5,
    365 		cipher_TLS_RSA_WITH_RC4_128_MD5,
    366 		cipher_TLS_RSA_WITH_RC4_128_SHA,
    367 		cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
    368 		cipher_TLS_RSA_WITH_IDEA_CBC_SHA,
    369 		cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA,
    370 		cipher_TLS_RSA_WITH_DES_CBC_SHA,
    371 		cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA,
    372 		cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,
    373 		cipher_TLS_DH_DSS_WITH_DES_CBC_SHA,
    374 		cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,
    375 		cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,
    376 		cipher_TLS_DH_RSA_WITH_DES_CBC_SHA,
    377 		cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,
    378 		cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
    379 		cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA,
    380 		cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
    381 		cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
    382 		cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA,
    383 		cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
    384 		cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5,
    385 		cipher_TLS_DH_anon_WITH_RC4_128_MD5,
    386 		cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
    387 		cipher_TLS_DH_anon_WITH_DES_CBC_SHA,
    388 		cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA,
    389 		cipher_TLS_KRB5_WITH_DES_CBC_SHA,
    390 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA,
    391 		cipher_TLS_KRB5_WITH_RC4_128_SHA,
    392 		cipher_TLS_KRB5_WITH_IDEA_CBC_SHA,
    393 		cipher_TLS_KRB5_WITH_DES_CBC_MD5,
    394 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5,
    395 		cipher_TLS_KRB5_WITH_RC4_128_MD5,
    396 		cipher_TLS_KRB5_WITH_IDEA_CBC_MD5,
    397 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
    398 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA,
    399 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
    400 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5,
    401 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5,
    402 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
    403 		cipher_TLS_PSK_WITH_NULL_SHA,
    404 		cipher_TLS_DHE_PSK_WITH_NULL_SHA,
    405 		cipher_TLS_RSA_PSK_WITH_NULL_SHA,
    406 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA,
    407 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA,
    408 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA,
    409 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
    410 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
    411 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA,
    412 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA,
    413 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA,
    414 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA,
    415 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
    416 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
    417 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA,
    418 		cipher_TLS_RSA_WITH_NULL_SHA256,
    419 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA256,
    420 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA256,
    421 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256,
    422 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256,
    423 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
    424 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
    425 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,
    426 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,
    427 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
    428 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
    429 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA,
    430 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
    431 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256,
    432 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256,
    433 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
    434 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
    435 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256,
    436 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256,
    437 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
    438 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,
    439 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,
    440 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
    441 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
    442 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA,
    443 		cipher_TLS_PSK_WITH_RC4_128_SHA,
    444 		cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA,
    445 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA,
    446 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA,
    447 		cipher_TLS_DHE_PSK_WITH_RC4_128_SHA,
    448 		cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
    449 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
    450 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
    451 		cipher_TLS_RSA_PSK_WITH_RC4_128_SHA,
    452 		cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
    453 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
    454 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
    455 		cipher_TLS_RSA_WITH_SEED_CBC_SHA,
    456 		cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA,
    457 		cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA,
    458 		cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA,
    459 		cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA,
    460 		cipher_TLS_DH_anon_WITH_SEED_CBC_SHA,
    461 		cipher_TLS_RSA_WITH_AES_128_GCM_SHA256,
    462 		cipher_TLS_RSA_WITH_AES_256_GCM_SHA384,
    463 		cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256,
    464 		cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384,
    465 		cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256,
    466 		cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384,
    467 		cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256,
    468 		cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384,
    469 		cipher_TLS_PSK_WITH_AES_128_GCM_SHA256,
    470 		cipher_TLS_PSK_WITH_AES_256_GCM_SHA384,
    471 		cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
    472 		cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
    473 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA256,
    474 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA384,
    475 		cipher_TLS_PSK_WITH_NULL_SHA256,
    476 		cipher_TLS_PSK_WITH_NULL_SHA384,
    477 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
    478 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
    479 		cipher_TLS_DHE_PSK_WITH_NULL_SHA256,
    480 		cipher_TLS_DHE_PSK_WITH_NULL_SHA384,
    481 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
    482 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
    483 		cipher_TLS_RSA_PSK_WITH_NULL_SHA256,
    484 		cipher_TLS_RSA_PSK_WITH_NULL_SHA384,
    485 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
    486 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256,
    487 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
    488 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
    489 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
    490 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256,
    491 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
    492 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256,
    493 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256,
    494 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
    495 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
    496 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256,
    497 		cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
    498 		cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA,
    499 		cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
    500 		cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
    501 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
    502 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
    503 		cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
    504 		cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
    505 		cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
    506 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
    507 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
    508 		cipher_TLS_ECDH_RSA_WITH_NULL_SHA,
    509 		cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA,
    510 		cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
    511 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
    512 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
    513 		cipher_TLS_ECDHE_RSA_WITH_NULL_SHA,
    514 		cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA,
    515 		cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
    516 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
    517 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
    518 		cipher_TLS_ECDH_anon_WITH_NULL_SHA,
    519 		cipher_TLS_ECDH_anon_WITH_RC4_128_SHA,
    520 		cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,
    521 		cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA,
    522 		cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA,
    523 		cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
    524 		cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
    525 		cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
    526 		cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA,
    527 		cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
    528 		cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
    529 		cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA,
    530 		cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
    531 		cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
    532 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
    533 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
    534 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
    535 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
    536 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
    537 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
    538 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
    539 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
    540 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
    541 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
    542 		cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
    543 		cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
    544 		cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA,
    545 		cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
    546 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
    547 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
    548 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
    549 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
    550 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA,
    551 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256,
    552 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384,
    553 		cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
    554 		cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
    555 		cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256,
    556 		cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384,
    557 		cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256,
    558 		cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384,
    559 		cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256,
    560 		cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384,
    561 		cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
    562 		cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
    563 		cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256,
    564 		cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384,
    565 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
    566 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
    567 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
    568 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
    569 		cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
    570 		cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
    571 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
    572 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
    573 		cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
    574 		cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
    575 		cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256,
    576 		cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384,
    577 		cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256,
    578 		cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384,
    579 		cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256,
    580 		cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384,
    581 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
    582 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
    583 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
    584 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
    585 		cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
    586 		cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
    587 		cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
    588 		cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
    589 		cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
    590 		cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
    591 		cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
    592 		cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
    593 		cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
    594 		cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
    595 		cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
    596 		cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
    597 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
    598 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
    599 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
    600 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
    601 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
    602 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
    603 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
    604 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
    605 		cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
    606 		cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
    607 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
    608 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
    609 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256,
    610 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384,
    611 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256,
    612 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384,
    613 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
    614 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
    615 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
    616 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
    617 		cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
    618 		cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
    619 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
    620 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
    621 		cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
    622 		cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
    623 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
    624 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
    625 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
    626 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
    627 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
    628 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
    629 		cipher_TLS_RSA_WITH_AES_128_CCM,
    630 		cipher_TLS_RSA_WITH_AES_256_CCM,
    631 		cipher_TLS_RSA_WITH_AES_128_CCM_8,
    632 		cipher_TLS_RSA_WITH_AES_256_CCM_8,
    633 		cipher_TLS_PSK_WITH_AES_128_CCM,
    634 		cipher_TLS_PSK_WITH_AES_256_CCM,
    635 		cipher_TLS_PSK_WITH_AES_128_CCM_8,
    636 		cipher_TLS_PSK_WITH_AES_256_CCM_8:
    637 		return true
    638 	default:
    639 		return false
    640 	}
    641 }
    642