OSDN Git Service

new repo
[bytom/vapor.git] / vendor / golang.org / x / net / http2 / ciphers.go
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 // http://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 }