| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641 | 
							- // Copyright 2017 The Go Authors. All rights reserved.
 
- // Use of this source code is governed by a BSD-style
 
- // license that can be found in the LICENSE file.
 
- package http2
 
- // A list of the possible cipher suite ids. Taken from
 
- // http://www.iana.org/assignments/tls-parameters/tls-parameters.txt
 
- const (
 
- 	cipher_TLS_NULL_WITH_NULL_NULL               uint16 = 0x0000
 
- 	cipher_TLS_RSA_WITH_NULL_MD5                 uint16 = 0x0001
 
- 	cipher_TLS_RSA_WITH_NULL_SHA                 uint16 = 0x0002
 
- 	cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5        uint16 = 0x0003
 
- 	cipher_TLS_RSA_WITH_RC4_128_MD5              uint16 = 0x0004
 
- 	cipher_TLS_RSA_WITH_RC4_128_SHA              uint16 = 0x0005
 
- 	cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5    uint16 = 0x0006
 
- 	cipher_TLS_RSA_WITH_IDEA_CBC_SHA             uint16 = 0x0007
 
- 	cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA     uint16 = 0x0008
 
- 	cipher_TLS_RSA_WITH_DES_CBC_SHA              uint16 = 0x0009
 
- 	cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0x000A
 
- 	cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000B
 
- 	cipher_TLS_DH_DSS_WITH_DES_CBC_SHA           uint16 = 0x000C
 
- 	cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA      uint16 = 0x000D
 
- 	cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000E
 
- 	cipher_TLS_DH_RSA_WITH_DES_CBC_SHA           uint16 = 0x000F
 
- 	cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA      uint16 = 0x0010
 
- 	cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011
 
- 	cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA          uint16 = 0x0012
 
- 	cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0013
 
- 	cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014
 
- 	cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA          uint16 = 0x0015
 
- 	cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0016
 
- 	cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5    uint16 = 0x0017
 
- 	cipher_TLS_DH_anon_WITH_RC4_128_MD5          uint16 = 0x0018
 
- 	cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019
 
- 	cipher_TLS_DH_anon_WITH_DES_CBC_SHA          uint16 = 0x001A
 
- 	cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA     uint16 = 0x001B
 
- 	// Reserved uint16 =  0x001C-1D
 
- 	cipher_TLS_KRB5_WITH_DES_CBC_SHA             uint16 = 0x001E
 
- 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA        uint16 = 0x001F
 
- 	cipher_TLS_KRB5_WITH_RC4_128_SHA             uint16 = 0x0020
 
- 	cipher_TLS_KRB5_WITH_IDEA_CBC_SHA            uint16 = 0x0021
 
- 	cipher_TLS_KRB5_WITH_DES_CBC_MD5             uint16 = 0x0022
 
- 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5        uint16 = 0x0023
 
- 	cipher_TLS_KRB5_WITH_RC4_128_MD5             uint16 = 0x0024
 
- 	cipher_TLS_KRB5_WITH_IDEA_CBC_MD5            uint16 = 0x0025
 
- 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA   uint16 = 0x0026
 
- 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA   uint16 = 0x0027
 
- 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA       uint16 = 0x0028
 
- 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5   uint16 = 0x0029
 
- 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5   uint16 = 0x002A
 
- 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5       uint16 = 0x002B
 
- 	cipher_TLS_PSK_WITH_NULL_SHA                 uint16 = 0x002C
 
- 	cipher_TLS_DHE_PSK_WITH_NULL_SHA             uint16 = 0x002D
 
- 	cipher_TLS_RSA_PSK_WITH_NULL_SHA             uint16 = 0x002E
 
- 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA          uint16 = 0x002F
 
- 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA       uint16 = 0x0030
 
- 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA       uint16 = 0x0031
 
- 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA      uint16 = 0x0032
 
- 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA      uint16 = 0x0033
 
- 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA      uint16 = 0x0034
 
- 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA          uint16 = 0x0035
 
- 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA       uint16 = 0x0036
 
- 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA       uint16 = 0x0037
 
- 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA      uint16 = 0x0038
 
- 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA      uint16 = 0x0039
 
- 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA      uint16 = 0x003A
 
- 	cipher_TLS_RSA_WITH_NULL_SHA256              uint16 = 0x003B
 
- 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA256       uint16 = 0x003C
 
- 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA256       uint16 = 0x003D
 
- 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256    uint16 = 0x003E
 
- 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256    uint16 = 0x003F
 
- 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256   uint16 = 0x0040
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA     uint16 = 0x0041
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0042
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0043
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046
 
- 	// Reserved uint16 =  0x0047-4F
 
- 	// Reserved uint16 =  0x0050-58
 
- 	// Reserved uint16 =  0x0059-5C
 
- 	// Unassigned uint16 =  0x005D-5F
 
- 	// Reserved uint16 =  0x0060-66
 
- 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067
 
- 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256  uint16 = 0x0068
 
- 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256  uint16 = 0x0069
 
- 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A
 
- 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B
 
- 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C
 
- 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D
 
- 	// Unassigned uint16 =  0x006E-83
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        uint16 = 0x0084
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0085
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0086
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0087
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0088
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0089
 
- 	cipher_TLS_PSK_WITH_RC4_128_SHA                 uint16 = 0x008A
 
- 	cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA            uint16 = 0x008B
 
- 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA             uint16 = 0x008C
 
- 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA             uint16 = 0x008D
 
- 	cipher_TLS_DHE_PSK_WITH_RC4_128_SHA             uint16 = 0x008E
 
- 	cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x008F
 
- 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0090
 
- 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0091
 
- 	cipher_TLS_RSA_PSK_WITH_RC4_128_SHA             uint16 = 0x0092
 
- 	cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x0093
 
- 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0094
 
- 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0095
 
- 	cipher_TLS_RSA_WITH_SEED_CBC_SHA                uint16 = 0x0096
 
- 	cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA             uint16 = 0x0097
 
- 	cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA             uint16 = 0x0098
 
- 	cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA            uint16 = 0x0099
 
- 	cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA            uint16 = 0x009A
 
- 	cipher_TLS_DH_anon_WITH_SEED_CBC_SHA            uint16 = 0x009B
 
- 	cipher_TLS_RSA_WITH_AES_128_GCM_SHA256          uint16 = 0x009C
 
- 	cipher_TLS_RSA_WITH_AES_256_GCM_SHA384          uint16 = 0x009D
 
- 	cipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256      uint16 = 0x009E
 
- 	cipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      uint16 = 0x009F
 
- 	cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256       uint16 = 0x00A0
 
- 	cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384       uint16 = 0x00A1
 
- 	cipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      uint16 = 0x00A2
 
- 	cipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      uint16 = 0x00A3
 
- 	cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256       uint16 = 0x00A4
 
- 	cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384       uint16 = 0x00A5
 
- 	cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256      uint16 = 0x00A6
 
- 	cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384      uint16 = 0x00A7
 
- 	cipher_TLS_PSK_WITH_AES_128_GCM_SHA256          uint16 = 0x00A8
 
- 	cipher_TLS_PSK_WITH_AES_256_GCM_SHA384          uint16 = 0x00A9
 
- 	cipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AA
 
- 	cipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AB
 
- 	cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AC
 
- 	cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AD
 
- 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA256          uint16 = 0x00AE
 
- 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA384          uint16 = 0x00AF
 
- 	cipher_TLS_PSK_WITH_NULL_SHA256                 uint16 = 0x00B0
 
- 	cipher_TLS_PSK_WITH_NULL_SHA384                 uint16 = 0x00B1
 
- 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B2
 
- 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B3
 
- 	cipher_TLS_DHE_PSK_WITH_NULL_SHA256             uint16 = 0x00B4
 
- 	cipher_TLS_DHE_PSK_WITH_NULL_SHA384             uint16 = 0x00B5
 
- 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B6
 
- 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B7
 
- 	cipher_TLS_RSA_PSK_WITH_NULL_SHA256             uint16 = 0x00B8
 
- 	cipher_TLS_RSA_PSK_WITH_NULL_SHA384             uint16 = 0x00B9
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0x00BA
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BB
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BC
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256     uint16 = 0x00C0
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C1
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C2
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5
 
- 	// Unassigned uint16 =  0x00C6-FE
 
- 	cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF
 
- 	// Unassigned uint16 =  0x01-55,*
 
- 	cipher_TLS_FALLBACK_SCSV uint16 = 0x5600
 
- 	// Unassigned                                   uint16 = 0x5601 - 0xC000
 
- 	cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA                 uint16 = 0xC001
 
- 	cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA              uint16 = 0xC002
 
- 	cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0xC003
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA          uint16 = 0xC004
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA          uint16 = 0xC005
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA                uint16 = 0xC006
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA             uint16 = 0xC007
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC008
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA         uint16 = 0xC009
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA         uint16 = 0xC00A
 
- 	cipher_TLS_ECDH_RSA_WITH_NULL_SHA                   uint16 = 0xC00B
 
- 	cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA                uint16 = 0xC00C
 
- 	cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA           uint16 = 0xC00D
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA            uint16 = 0xC00E
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA            uint16 = 0xC00F
 
- 	cipher_TLS_ECDHE_RSA_WITH_NULL_SHA                  uint16 = 0xC010
 
- 	cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA               uint16 = 0xC011
 
- 	cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC012
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA           uint16 = 0xC013
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA           uint16 = 0xC014
 
- 	cipher_TLS_ECDH_anon_WITH_NULL_SHA                  uint16 = 0xC015
 
- 	cipher_TLS_ECDH_anon_WITH_RC4_128_SHA               uint16 = 0xC016
 
- 	cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC017
 
- 	cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA           uint16 = 0xC018
 
- 	cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA           uint16 = 0xC019
 
- 	cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA            uint16 = 0xC01A
 
- 	cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01B
 
- 	cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01C
 
- 	cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA             uint16 = 0xC01D
 
- 	cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA         uint16 = 0xC01E
 
- 	cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA         uint16 = 0xC01F
 
- 	cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA             uint16 = 0xC020
 
- 	cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA         uint16 = 0xC021
 
- 	cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA         uint16 = 0xC022
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256      uint16 = 0xC023
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384      uint16 = 0xC024
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256       uint16 = 0xC025
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384       uint16 = 0xC026
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256        uint16 = 0xC027
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384        uint16 = 0xC028
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256         uint16 = 0xC029
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384         uint16 = 0xC02A
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256      uint16 = 0xC02B
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384      uint16 = 0xC02C
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256       uint16 = 0xC02D
 
- 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384       uint16 = 0xC02E
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256        uint16 = 0xC02F
 
- 	cipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384        uint16 = 0xC030
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256         uint16 = 0xC031
 
- 	cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384         uint16 = 0xC032
 
- 	cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA               uint16 = 0xC033
 
- 	cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC034
 
- 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA           uint16 = 0xC035
 
- 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA           uint16 = 0xC036
 
- 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256        uint16 = 0xC037
 
- 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384        uint16 = 0xC038
 
- 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA                  uint16 = 0xC039
 
- 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256               uint16 = 0xC03A
 
- 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384               uint16 = 0xC03B
 
- 	cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC03C
 
- 	cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC03D
 
- 	cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC03E
 
- 	cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC03F
 
- 	cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC040
 
- 	cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC041
 
- 	cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC042
 
- 	cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC043
 
- 	cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC044
 
- 	cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC045
 
- 	cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC046
 
- 	cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC047
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256     uint16 = 0xC048
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384     uint16 = 0xC049
 
- 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256      uint16 = 0xC04A
 
- 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384      uint16 = 0xC04B
 
- 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC04C
 
- 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC04D
 
- 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256        uint16 = 0xC04E
 
- 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384        uint16 = 0xC04F
 
- 	cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC050
 
- 	cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC051
 
- 	cipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC052
 
- 	cipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC053
 
- 	cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC054
 
- 	cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC055
 
- 	cipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC056
 
- 	cipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC057
 
- 	cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC058
 
- 	cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC059
 
- 	cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC05A
 
- 	cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC05B
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     uint16 = 0xC05C
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     uint16 = 0xC05D
 
- 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      uint16 = 0xC05E
 
- 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      uint16 = 0xC05F
 
- 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       uint16 = 0xC060
 
- 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       uint16 = 0xC061
 
- 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        uint16 = 0xC062
 
- 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        uint16 = 0xC063
 
- 	cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC064
 
- 	cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC065
 
- 	cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC066
 
- 	cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC067
 
- 	cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC068
 
- 	cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC069
 
- 	cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC06A
 
- 	cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC06B
 
- 	cipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06C
 
- 	cipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06D
 
- 	cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06E
 
- 	cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06F
 
- 	cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC070
 
- 	cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC071
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073
 
- 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0xC074
 
- 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  uint16 = 0xC075
 
- 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC076
 
- 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC077
 
- 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    uint16 = 0xC078
 
- 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    uint16 = 0xC079
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC07A
 
- 	cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC07B
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC07C
 
- 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC07D
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC07E
 
- 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC07F
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC080
 
- 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC081
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC082
 
- 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC083
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC084
 
- 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC085
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087
 
- 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  uint16 = 0xC088
 
- 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  uint16 = 0xC089
 
- 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256   uint16 = 0xC08A
 
- 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384   uint16 = 0xC08B
 
- 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256    uint16 = 0xC08C
 
- 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384    uint16 = 0xC08D
 
- 	cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC08E
 
- 	cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC08F
 
- 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC090
 
- 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC091
 
- 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC092
 
- 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC093
 
- 	cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256         uint16 = 0xC094
 
- 	cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384         uint16 = 0xC095
 
- 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC096
 
- 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC097
 
- 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC098
 
- 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC099
 
- 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC09A
 
- 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC09B
 
- 	cipher_TLS_RSA_WITH_AES_128_CCM                     uint16 = 0xC09C
 
- 	cipher_TLS_RSA_WITH_AES_256_CCM                     uint16 = 0xC09D
 
- 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM                 uint16 = 0xC09E
 
- 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM                 uint16 = 0xC09F
 
- 	cipher_TLS_RSA_WITH_AES_128_CCM_8                   uint16 = 0xC0A0
 
- 	cipher_TLS_RSA_WITH_AES_256_CCM_8                   uint16 = 0xC0A1
 
- 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM_8               uint16 = 0xC0A2
 
- 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM_8               uint16 = 0xC0A3
 
- 	cipher_TLS_PSK_WITH_AES_128_CCM                     uint16 = 0xC0A4
 
- 	cipher_TLS_PSK_WITH_AES_256_CCM                     uint16 = 0xC0A5
 
- 	cipher_TLS_DHE_PSK_WITH_AES_128_CCM                 uint16 = 0xC0A6
 
- 	cipher_TLS_DHE_PSK_WITH_AES_256_CCM                 uint16 = 0xC0A7
 
- 	cipher_TLS_PSK_WITH_AES_128_CCM_8                   uint16 = 0xC0A8
 
- 	cipher_TLS_PSK_WITH_AES_256_CCM_8                   uint16 = 0xC0A9
 
- 	cipher_TLS_PSK_DHE_WITH_AES_128_CCM_8               uint16 = 0xC0AA
 
- 	cipher_TLS_PSK_DHE_WITH_AES_256_CCM_8               uint16 = 0xC0AB
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM             uint16 = 0xC0AC
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM             uint16 = 0xC0AD
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8           uint16 = 0xC0AE
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8           uint16 = 0xC0AF
 
- 	// Unassigned uint16 =  0xC0B0-FF
 
- 	// Unassigned uint16 =  0xC1-CB,*
 
- 	// Unassigned uint16 =  0xCC00-A7
 
- 	cipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCA8
 
- 	cipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9
 
- 	cipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAA
 
- 	cipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         uint16 = 0xCCAB
 
- 	cipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCAC
 
- 	cipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAD
 
- 	cipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAE
 
- )
 
- // isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.
 
- // References:
 
- // https://tools.ietf.org/html/rfc7540#appendix-A
 
- // Reject cipher suites from Appendix A.
 
- // "This list includes those cipher suites that do not
 
- // offer an ephemeral key exchange and those that are
 
- // based on the TLS null, stream or block cipher type"
 
- func isBadCipher(cipher uint16) bool {
 
- 	switch cipher {
 
- 	case cipher_TLS_NULL_WITH_NULL_NULL,
 
- 		cipher_TLS_RSA_WITH_NULL_MD5,
 
- 		cipher_TLS_RSA_WITH_NULL_SHA,
 
- 		cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5,
 
- 		cipher_TLS_RSA_WITH_RC4_128_MD5,
 
- 		cipher_TLS_RSA_WITH_RC4_128_SHA,
 
- 		cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
 
- 		cipher_TLS_RSA_WITH_IDEA_CBC_SHA,
 
- 		cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5,
 
- 		cipher_TLS_DH_anon_WITH_RC4_128_MD5,
 
- 		cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_KRB5_WITH_DES_CBC_SHA,
 
- 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_KRB5_WITH_RC4_128_SHA,
 
- 		cipher_TLS_KRB5_WITH_IDEA_CBC_SHA,
 
- 		cipher_TLS_KRB5_WITH_DES_CBC_MD5,
 
- 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5,
 
- 		cipher_TLS_KRB5_WITH_RC4_128_MD5,
 
- 		cipher_TLS_KRB5_WITH_IDEA_CBC_MD5,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5,
 
- 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
 
- 		cipher_TLS_PSK_WITH_NULL_SHA,
 
- 		cipher_TLS_DHE_PSK_WITH_NULL_SHA,
 
- 		cipher_TLS_RSA_PSK_WITH_NULL_SHA,
 
- 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_NULL_SHA256,
 
- 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA,
 
- 		cipher_TLS_PSK_WITH_RC4_128_SHA,
 
- 		cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_DHE_PSK_WITH_RC4_128_SHA,
 
- 		cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_RSA_PSK_WITH_RC4_128_SHA,
 
- 		cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_DH_anon_WITH_SEED_CBC_SHA,
 
- 		cipher_TLS_RSA_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_PSK_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_PSK_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_PSK_WITH_NULL_SHA256,
 
- 		cipher_TLS_PSK_WITH_NULL_SHA384,
 
- 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_DHE_PSK_WITH_NULL_SHA256,
 
- 		cipher_TLS_DHE_PSK_WITH_NULL_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_NULL_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_NULL_SHA384,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256,
 
- 		cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDH_RSA_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDHE_RSA_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDH_anon_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDH_anon_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
 
- 		cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA,
 
- 		cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
 
- 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
 
- 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
 
- 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA,
 
- 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256,
 
- 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384,
 
- 		cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
 
- 		cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
 
- 		cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
 
- 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
 
- 		cipher_TLS_RSA_WITH_AES_128_CCM,
 
- 		cipher_TLS_RSA_WITH_AES_256_CCM,
 
- 		cipher_TLS_RSA_WITH_AES_128_CCM_8,
 
- 		cipher_TLS_RSA_WITH_AES_256_CCM_8,
 
- 		cipher_TLS_PSK_WITH_AES_128_CCM,
 
- 		cipher_TLS_PSK_WITH_AES_256_CCM,
 
- 		cipher_TLS_PSK_WITH_AES_128_CCM_8,
 
- 		cipher_TLS_PSK_WITH_AES_256_CCM_8:
 
- 		return true
 
- 	default:
 
- 		return false
 
- 	}
 
- }
 
 
  |