ciphers.go raw

   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