github.com/mdaxf/iac@v0.0.0-20240519030858-58a061660378/vendor_skip/golang.org/x/net/http2/ciphers.go (about)

     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  }