560987a1e439ef4ee6b02fe4e2efb9d00c6e6077
[openssl.git] / doc / apps / ciphers.pod
1 =pod
2
3 =head1 NAME
4
5 ciphers - SSL cipher display and cipher list tool.
6
7 =head1 SYNOPSIS
8
9 B<openssl> B<ciphers>
10 [B<-v>]
11 [B<-V>]
12 [B<-ssl2>]
13 [B<-ssl3>]
14 [B<-tls1>]
15 [B<-stdnames>]
16 [B<cipherlist>]
17
18 =head1 DESCRIPTION
19
20 The B<ciphers> command converts textual OpenSSL cipher lists into ordered
21 SSL cipher preference lists. It can be used as a test tool to determine
22 the appropriate cipherlist.
23
24 =head1 COMMAND OPTIONS
25
26 =over 4
27
28 =item B<-v>
29
30 Verbose option. List ciphers with a complete description of
31 protocol version (SSLv2 or SSLv3; the latter includes TLS), key exchange,
32 authentication, encryption and mac algorithms used along with any key size
33 restrictions and whether the algorithm is classed as an "export" cipher.
34 Note that without the B<-v> option, ciphers may seem to appear twice
35 in a cipher list; this is when similar ciphers are available for
36 SSL v2 and for SSL v3/TLS v1.
37
38 =item B<-V>
39
40 Like B<-v>, but include cipher suite codes in output (hex format).
41
42 =item B<-ssl3>
43
44 only include SSL v3 ciphers.
45
46 =item B<-ssl2>
47
48 only include SSL v2 ciphers.
49
50 =item B<-tls1>
51
52 only include TLS v1 ciphers.
53
54 =item B<-stdname>
55
56 precede each ciphersuite by its standard name: only available is OpenSSL
57 is built with tracing enabled (B<enable-ssl-trace> argument to Configure).
58
59 =item B<-h>, B<-?>
60
61 print a brief usage message.
62
63 =item B<cipherlist>
64
65 a cipher list to convert to a cipher preference list. If it is not included
66 then the default cipher list will be used. The format is described below.
67
68 =back
69
70 =head1 CIPHER LIST FORMAT
71
72 The cipher list consists of one or more I<cipher strings> separated by colons.
73 Commas or spaces are also acceptable separators but colons are normally used.
74
75 The actual cipher string can take several different forms.
76
77 It can consist of a single cipher suite such as B<RC4-SHA>.
78
79 It can represent a list of cipher suites containing a certain algorithm, or
80 cipher suites of a certain type. For example B<SHA1> represents all ciphers
81 suites using the digest algorithm SHA1 and B<SSLv3> represents all SSL v3
82 algorithms.
83
84 Lists of cipher suites can be combined in a single cipher string using the
85 B<+> character. This is used as a logical B<and> operation. For example
86 B<SHA1+DES> represents all cipher suites containing the SHA1 B<and> the DES
87 algorithms.
88
89 Each cipher string can be optionally preceded by the characters B<!>,
90 B<-> or B<+>.
91
92 If B<!> is used then the ciphers are permanently deleted from the list.
93 The ciphers deleted can never reappear in the list even if they are
94 explicitly stated.
95
96 If B<-> is used then the ciphers are deleted from the list, but some or
97 all of the ciphers can be added again by later options.
98
99 If B<+> is used then the ciphers are moved to the end of the list. This
100 option doesn't add any new ciphers it just moves matching existing ones.
101
102 If none of these characters is present then the string is just interpreted
103 as a list of ciphers to be appended to the current preference list. If the
104 list includes any ciphers already present they will be ignored: that is they
105 will not moved to the end of the list.
106
107 Additionally the cipher string B<@STRENGTH> can be used at any point to sort
108 the current cipher list in order of encryption algorithm key length.
109
110 =head1 CIPHER STRINGS
111
112 The following is a list of all permitted cipher strings and their meanings.
113
114 =over 4
115
116 =item B<DEFAULT>
117
118 the default cipher list. This is determined at compile time and, as of OpenSSL
119 1.0.0, is normally B<ALL:!aNULL:!eNULL>. This must be the first cipher string
120 specified.
121
122 =item B<COMPLEMENTOFDEFAULT>
123
124 the ciphers included in B<ALL>, but not enabled by default. Currently
125 this is B<ADH>. Note that this rule does not cover B<eNULL>, which is
126 not included by B<ALL> (use B<COMPLEMENTOFALL> if necessary).
127
128 =item B<ALL>
129
130 all cipher suites except the B<eNULL> ciphers which must be explicitly enabled;
131 as of OpenSSL, the B<ALL> cipher suites are reasonably ordered by default
132
133 =item B<COMPLEMENTOFALL>
134
135 the cipher suites not enabled by B<ALL>, currently being B<eNULL>.
136
137 =item B<HIGH>
138
139 "high" encryption cipher suites. This currently means those with key lengths
140 larger than 128 bits, and some cipher suites with 128-bit keys.
141
142 =item B<MEDIUM>
143
144 "medium" encryption cipher suites, currently some of those using 128 bit
145 encryption.
146
147 =item B<LOW>
148
149 "low" encryption cipher suites, currently those using 64 or 56 bit encryption
150 algorithms but excluding export cipher suites.
151
152 =item B<EXP>, B<EXPORT>
153
154 export encryption algorithms. Including 40 and 56 bits algorithms.
155
156 =item B<EXPORT40>
157
158 40 bit export encryption algorithms
159
160 =item B<EXPORT56>
161
162 56 bit export encryption algorithms. In OpenSSL 0.9.8c and later the set of
163 56 bit export ciphers is empty unless OpenSSL has been explicitly configured
164 with support for experimental ciphers.
165
166 =item B<eNULL>, B<NULL>
167
168 the "NULL" ciphers that is those offering no encryption. Because these offer no
169 encryption at all and are a security risk they are disabled unless explicitly
170 included.
171
172 =item B<aNULL>
173
174 the cipher suites offering no authentication. This is currently the anonymous
175 DH algorithms. These cipher suites are vulnerable to a "man in the middle"
176 attack and so their use is normally discouraged.
177
178 =item B<kRSA>, B<aRSA>, B<RSA>
179
180 cipher suites using RSA key exchange, authentication or either respectively.
181
182 =item B<kEDH>
183
184 cipher suites using ephemeral DH key agreement.
185
186 =item B<kDHr>, B<kDHd>, B<kDH>
187
188 cipher suites using DH key agreement and DH certificates signed by CAs with RSA
189 and DSS keys or either respectively.
190
191 =item B<aDSS>, B<DSS>
192
193 cipher suites using DSS authentication, i.e. the certificates carry DSS keys.
194
195 =item B<aDH>
196
197 cipher suites effectively using DH authentication, i.e. the certificates carry
198 DH keys.
199
200 =item B<kFZA>, B<aFZA>, B<eFZA>, B<FZA>
201
202 ciphers suites using FORTEZZA key exchange, authentication, encryption or all
203 FORTEZZA algorithms. Not implemented.
204
205 =item B<TLSv1.2>, B<TLSv1>, B<SSLv3>, B<SSLv2>
206
207 TLS v1.2, TLS v1.0, SSL v3.0 or SSL v2.0 cipher suites respectively. Note:
208 there are no ciphersuites specific to TLS v1.1.
209
210 =item B<DH>
211
212 cipher suites using DH, including anonymous DH, ephemeral DH and fixed DH.
213
214 =item B<ADH>
215
216 anonymous DH cipher suites.
217
218 =item B<AES128>, B<AES256>, B<AES>
219
220 cipher suites using 128 bit AES, 256 bit AES or either 128 or 256 bit AES.
221
222 =item B<AESGCM>
223
224 AES in Galois Counter Mode (GCM): these ciphersuites are only supported
225 in TLS v1.2.
226
227 =item B<CAMELLIA128>, B<CAMELLIA256>, B<CAMELLIA>
228
229 cipher suites using 128 bit CAMELLIA, 256 bit CAMELLIA or either 128 or 256 bit
230 CAMELLIA.
231
232 =item B<3DES>
233
234 cipher suites using triple DES.
235
236 =item B<DES>
237
238 cipher suites using DES (not triple DES).
239
240 =item B<RC4>
241
242 cipher suites using RC4.
243
244 =item B<RC2>
245
246 cipher suites using RC2.
247
248 =item B<IDEA>
249
250 cipher suites using IDEA.
251
252 =item B<SEED>
253
254 cipher suites using SEED.
255
256 =item B<MD5>
257
258 cipher suites using MD5.
259
260 =item B<SHA1>, B<SHA>
261
262 cipher suites using SHA1.
263
264 =item B<SHA256>, B<SHA384>
265
266 ciphersuites using SHA256 or SHA384.
267
268 =item B<aGOST> 
269
270 cipher suites using GOST R 34.10 (either 2001 or 94) for authenticaction
271 (needs an engine supporting GOST algorithms). 
272
273 =item B<aGOST01>
274
275 cipher suites using GOST R 34.10-2001 authentication.
276
277 =item B<aGOST94>
278
279 cipher suites using GOST R 34.10-94 authentication (note that R 34.10-94
280 standard has been expired so use GOST R 34.10-2001)
281
282 =item B<kGOST>
283
284 cipher suites, using VKO 34.10 key exchange, specified in the RFC 4357.
285
286 =item B<GOST94>
287
288 cipher suites, using HMAC based on GOST R 34.11-94.
289
290 =item B<GOST89MAC>
291
292 cipher suites using GOST 28147-89 MAC B<instead of> HMAC.
293
294 =item B<PSK>
295
296 cipher suites using pre-shared keys (PSK).
297
298 =item B<SUITEB128>, B<SUITEB128ONLY>, B<SUITEB192>
299
300 enables suite B mode operation using 128 (permitting 192 bit mode by peer)
301 128 bit (not permitting 192 bit by peer) or 192 bit level of security
302 respectively. If used these cipherstrings should appear first in the cipher
303 list and anything after them is ignored. Setting Suite B mode has additional
304 consequences required to comply with RFC6460. In particular the supported
305 signature algorithms is reduced to support only ECDSA and SHA256 or SHA384,
306 only the elliptic curves P-256 and P-384 can be used and only the two suite B
307 compliant ciphersuites (ECDHE-ECDSA-AES128-GCM-SHA256 and
308 ECDHE-ECDSA-AES256-GCM-SHA384) are permissible.
309
310 =back
311
312 =head1 CIPHER SUITE NAMES
313
314 The following lists give the SSL or TLS cipher suites names from the
315 relevant specification and their OpenSSL equivalents. It should be noted,
316 that several cipher suite names do not include the authentication used,
317 e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
318
319 =head2 SSL v3.0 cipher suites.
320
321  SSL_RSA_WITH_NULL_MD5                   NULL-MD5
322  SSL_RSA_WITH_NULL_SHA                   NULL-SHA
323  SSL_RSA_EXPORT_WITH_RC4_40_MD5          EXP-RC4-MD5
324  SSL_RSA_WITH_RC4_128_MD5                RC4-MD5
325  SSL_RSA_WITH_RC4_128_SHA                RC4-SHA
326  SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5      EXP-RC2-CBC-MD5
327  SSL_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
328  SSL_RSA_EXPORT_WITH_DES40_CBC_SHA       EXP-DES-CBC-SHA
329  SSL_RSA_WITH_DES_CBC_SHA                DES-CBC-SHA
330  SSL_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
331
332  SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA    EXP-DH-DSS-DES-CBC-SHA
333  SSL_DH_DSS_WITH_DES_CBC_SHA             DH-DSS-DES-CBC-SHA
334  SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA        DH-DSS-DES-CBC3-SHA
335  SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA    EXP-DH-RSA-DES-CBC-SHA
336  SSL_DH_RSA_WITH_DES_CBC_SHA             DH-RSA-DES-CBC-SHA
337  SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA        DH-RSA-DES-CBC3-SHA
338  SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA   EXP-EDH-DSS-DES-CBC-SHA
339  SSL_DHE_DSS_WITH_DES_CBC_SHA            EDH-DSS-CBC-SHA
340  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA       EDH-DSS-DES-CBC3-SHA
341  SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA   EXP-EDH-RSA-DES-CBC-SHA
342  SSL_DHE_RSA_WITH_DES_CBC_SHA            EDH-RSA-DES-CBC-SHA
343  SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA       EDH-RSA-DES-CBC3-SHA
344
345  SSL_DH_anon_EXPORT_WITH_RC4_40_MD5      EXP-ADH-RC4-MD5
346  SSL_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
347  SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA   EXP-ADH-DES-CBC-SHA
348  SSL_DH_anon_WITH_DES_CBC_SHA            ADH-DES-CBC-SHA
349  SSL_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
350
351  SSL_FORTEZZA_KEA_WITH_NULL_SHA          Not implemented.
352  SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA  Not implemented.
353  SSL_FORTEZZA_KEA_WITH_RC4_128_SHA       Not implemented.
354
355 =head2 TLS v1.0 cipher suites.
356
357  TLS_RSA_WITH_NULL_MD5                   NULL-MD5
358  TLS_RSA_WITH_NULL_SHA                   NULL-SHA
359  TLS_RSA_EXPORT_WITH_RC4_40_MD5          EXP-RC4-MD5
360  TLS_RSA_WITH_RC4_128_MD5                RC4-MD5
361  TLS_RSA_WITH_RC4_128_SHA                RC4-SHA
362  TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5      EXP-RC2-CBC-MD5
363  TLS_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
364  TLS_RSA_EXPORT_WITH_DES40_CBC_SHA       EXP-DES-CBC-SHA
365  TLS_RSA_WITH_DES_CBC_SHA                DES-CBC-SHA
366  TLS_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
367
368  TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA    Not implemented.
369  TLS_DH_DSS_WITH_DES_CBC_SHA             Not implemented.
370  TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA        Not implemented.
371  TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA    Not implemented.
372  TLS_DH_RSA_WITH_DES_CBC_SHA             Not implemented.
373  TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA        Not implemented.
374  TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA   EXP-EDH-DSS-DES-CBC-SHA
375  TLS_DHE_DSS_WITH_DES_CBC_SHA            EDH-DSS-CBC-SHA
376  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA       EDH-DSS-DES-CBC3-SHA
377  TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA   EXP-EDH-RSA-DES-CBC-SHA
378  TLS_DHE_RSA_WITH_DES_CBC_SHA            EDH-RSA-DES-CBC-SHA
379  TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA       EDH-RSA-DES-CBC3-SHA
380
381  TLS_DH_anon_EXPORT_WITH_RC4_40_MD5      EXP-ADH-RC4-MD5
382  TLS_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
383  TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA   EXP-ADH-DES-CBC-SHA
384  TLS_DH_anon_WITH_DES_CBC_SHA            ADH-DES-CBC-SHA
385  TLS_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
386
387 =head2 AES ciphersuites from RFC3268, extending TLS v1.0
388
389  TLS_RSA_WITH_AES_128_CBC_SHA            AES128-SHA
390  TLS_RSA_WITH_AES_256_CBC_SHA            AES256-SHA
391
392  TLS_DH_DSS_WITH_AES_128_CBC_SHA         DH-DSS-AES128-SHA
393  TLS_DH_DSS_WITH_AES_256_CBC_SHA         DH-DSS-AES256-SHA
394  TLS_DH_RSA_WITH_AES_128_CBC_SHA         DH-RSA-AES128-SHA
395  TLS_DH_RSA_WITH_AES_256_CBC_SHA         DH-RSA-AES256-SHA
396
397  TLS_DHE_DSS_WITH_AES_128_CBC_SHA        DHE-DSS-AES128-SHA
398  TLS_DHE_DSS_WITH_AES_256_CBC_SHA        DHE-DSS-AES256-SHA
399  TLS_DHE_RSA_WITH_AES_128_CBC_SHA        DHE-RSA-AES128-SHA
400  TLS_DHE_RSA_WITH_AES_256_CBC_SHA        DHE-RSA-AES256-SHA
401
402  TLS_DH_anon_WITH_AES_128_CBC_SHA        ADH-AES128-SHA
403  TLS_DH_anon_WITH_AES_256_CBC_SHA        ADH-AES256-SHA
404
405 =head2 Camellia ciphersuites from RFC4132, extending TLS v1.0
406
407  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA      CAMELLIA128-SHA
408  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA      CAMELLIA256-SHA
409
410  TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA   DH-DSS-CAMELLIA128-SHA
411  TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA   DH-DSS-CAMELLIA256-SHA
412  TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA   DH-RSA-CAMELLIA128-SHA
413  TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA   DH-RSA-CAMELLIA256-SHA
414
415  TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA  DHE-DSS-CAMELLIA128-SHA
416  TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  DHE-DSS-CAMELLIA256-SHA
417  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA  DHE-RSA-CAMELLIA128-SHA
418  TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  DHE-RSA-CAMELLIA256-SHA
419
420  TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA  ADH-CAMELLIA128-SHA
421  TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA  ADH-CAMELLIA256-SHA
422
423 =head2 SEED ciphersuites from RFC4162, extending TLS v1.0
424
425  TLS_RSA_WITH_SEED_CBC_SHA              SEED-SHA
426
427  TLS_DH_DSS_WITH_SEED_CBC_SHA           DH-DSS-SEED-SHA
428  TLS_DH_RSA_WITH_SEED_CBC_SHA           DH-RSA-SEED-SHA
429
430  TLS_DHE_DSS_WITH_SEED_CBC_SHA          DHE-DSS-SEED-SHA
431  TLS_DHE_RSA_WITH_SEED_CBC_SHA          DHE-RSA-SEED-SHA
432
433  TLS_DH_anon_WITH_SEED_CBC_SHA          ADH-SEED-SHA
434
435 =head2 GOST ciphersuites from draft-chudov-cryptopro-cptls, extending TLS v1.0
436
437 Note: these ciphers require an engine which including GOST cryptographic
438 algorithms, such as the B<ccgost> engine, included in the OpenSSL distribution.
439
440  TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89
441  TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89
442  TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94
443  TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94
444
445 =head2 Additional Export 1024 and other cipher suites
446
447 Note: these ciphers can also be used in SSL v3.
448
449  TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA     EXP1024-DES-CBC-SHA
450  TLS_RSA_EXPORT1024_WITH_RC4_56_SHA      EXP1024-RC4-SHA
451  TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA EXP1024-DHE-DSS-DES-CBC-SHA
452  TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA  EXP1024-DHE-DSS-RC4-SHA
453  TLS_DHE_DSS_WITH_RC4_128_SHA            DHE-DSS-RC4-SHA
454
455 =head2 Elliptic curve cipher suites.
456  
457  TLS_ECDH_RSA_WITH_NULL_SHA              ECDH-RSA-NULL-SHA
458  TLS_ECDH_RSA_WITH_RC4_128_SHA           ECDH-RSA-RC4-SHA
459  TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA      ECDH-RSA-DES-CBC3-SHA
460  TLS_ECDH_RSA_WITH_AES_128_CBC_SHA       ECDH-RSA-AES128-SHA
461  TLS_ECDH_RSA_WITH_AES_256_CBC_SHA       ECDH-RSA-AES256-SHA
462  
463  TLS_ECDH_ECDSA_WITH_NULL_SHA            ECDH-ECDSA-NULL-SHA
464  TLS_ECDH_ECDSA_WITH_RC4_128_SHA         ECDH-ECDSA-RC4-SHA
465  TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA    ECDH-ECDSA-DES-CBC3-SHA
466  TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA     ECDH-ECDSA-AES128-SHA
467  TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA     ECDH-ECDSA-AES256-SHA
468  
469  TLS_ECDHE_RSA_WITH_NULL_SHA             ECDHE-RSA-NULL-SHA
470  TLS_ECDHE_RSA_WITH_RC4_128_SHA          ECDHE-RSA-RC4-SHA
471  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA     ECDHE-RSA-DES-CBC3-SHA
472  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA      ECDHE-RSA-AES128-SHA
473  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA      ECDHE-RSA-AES256-SHA
474  
475  TLS_ECDHE_ECDSA_WITH_NULL_SHA           ECDHE-ECDSA-NULL-SHA
476  TLS_ECDHE_ECDSA_WITH_RC4_128_SHA        ECDHE-ECDSA-RC4-SHA
477  TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA   ECDHE-ECDSA-DES-CBC3-SHA
478  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA    ECDHE-ECDSA-AES128-SHA
479  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    ECDHE-ECDSA-AES256-SHA
480  
481  TLS_ECDH_anon_WITH_NULL_SHA             AECDH-NULL-SHA
482  TLS_ECDH_anon_WITH_RC4_128_SHA          AECDH-RC4-SHA
483  TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA     AECDH-DES-CBC3-SHA
484  TLS_ECDH_anon_WITH_AES_128_CBC_SHA      AECDH-AES128-SHA
485  TLS_ECDH_anon_WITH_AES_256_CBC_SHA      AECDH-AES256-SHA
486
487 =head2 TLS v1.2 cipher suites
488
489  TLS_RSA_WITH_NULL_SHA256                  NULL-SHA256
490
491  TLS_RSA_WITH_AES_128_CBC_SHA256           AES128-SHA256
492  TLS_RSA_WITH_AES_256_CBC_SHA256           AES256-SHA256
493  TLS_RSA_WITH_AES_128_GCM_SHA256           AES128-GCM-SHA256
494  TLS_RSA_WITH_AES_256_GCM_SHA384           AES256-GCM-SHA384
495
496  TLS_DH_RSA_WITH_AES_128_CBC_SHA256        DH-RSA-AES128-SHA256
497  TLS_DH_RSA_WITH_AES_256_CBC_SHA256        DH-RSA-AES256-SHA256
498  TLS_DH_RSA_WITH_AES_128_GCM_SHA256        DH-RSA-AES128-GCM-SHA256
499  TLS_DH_RSA_WITH_AES_256_GCM_SHA384        DH-RSA-AES256-GCM-SHA384
500
501  TLS_DH_DSS_WITH_AES_128_CBC_SHA256        DH-DSS-AES128-SHA256
502  TLS_DH_DSS_WITH_AES_256_CBC_SHA256        DH-DSS-AES256-SHA256
503  TLS_DH_DSS_WITH_AES_128_GCM_SHA256        DH-DSS-AES128-GCM-SHA256
504  TLS_DH_DSS_WITH_AES_256_GCM_SHA384        DH-DSS-AES256-GCM-SHA384
505
506  TLS_DHE_RSA_WITH_AES_128_CBC_SHA256       DHE-RSA-AES128-SHA256
507  TLS_DHE_RSA_WITH_AES_256_CBC_SHA256       DHE-RSA-AES256-SHA256
508  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256       DHE-RSA-AES128-GCM-SHA256
509  TLS_DHE_RSA_WITH_AES_256_GCM_SHA384       DHE-RSA-AES256-GCM-SHA384
510
511  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256       DHE-DSS-AES128-SHA256
512  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256       DHE-DSS-AES256-SHA256
513  TLS_DHE_DSS_WITH_AES_128_GCM_SHA256       DHE-DSS-AES128-GCM-SHA256
514  TLS_DHE_DSS_WITH_AES_256_GCM_SHA384       DHE-DSS-AES256-GCM-SHA384
515
516  TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256      ECDH-RSA-AES128-SHA256
517  TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384      ECDH-RSA-AES256-SHA384
518  TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256      ECDH-RSA-AES128-GCM-SHA256
519  TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384      ECDH-RSA-AES256-GCM-SHA384
520
521  TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256    ECDH-ECDSA-AES128-SHA256
522  TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384    ECDH-ECDSA-AES256-SHA384
523  TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256    ECDH-ECDSA-AES128-GCM-SHA256
524  TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384    ECDH-ECDSA-AES256-GCM-SHA384
525
526  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256     ECDHE-RSA-AES128-SHA256
527  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384     ECDHE-RSA-AES256-SHA384
528  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256     ECDHE-RSA-AES128-GCM-SHA256
529  TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     ECDHE-RSA-AES256-GCM-SHA384
530
531  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256   ECDHE-ECDSA-AES128-SHA256
532  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384   ECDHE-ECDSA-AES256-SHA384
533  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDHE-ECDSA-AES128-GCM-SHA256
534  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384   ECDHE-ECDSA-AES256-GCM-SHA384
535
536  TLS_DH_anon_WITH_AES_128_CBC_SHA256       ADH-AES128-SHA256
537  TLS_DH_anon_WITH_AES_256_CBC_SHA256       ADH-AES256-SHA256
538  TLS_DH_anon_WITH_AES_128_GCM_SHA256       ADH-AES128-GCM-SHA256
539  TLS_DH_anon_WITH_AES_256_GCM_SHA384       ADH-AES256-GCM-SHA384
540
541 =head2 Pre shared keying (PSK) cipheruites
542
543  TLS_PSK_WITH_RC4_128_SHA                  PSK-RC4-SHA
544  TLS_PSK_WITH_3DES_EDE_CBC_SHA             PSK-3DES-EDE-CBC-SHA
545  TLS_PSK_WITH_AES_128_CBC_SHA              PSK-AES128-CBC-SHA
546  TLS_PSK_WITH_AES_256_CBC_SHA              PSK-AES256-CBC-SHA
547
548 =head2 Deprecated SSL v2.0 cipher suites.
549
550  SSL_CK_RC4_128_WITH_MD5                 RC4-MD5
551  SSL_CK_RC4_128_EXPORT40_WITH_MD5        EXP-RC4-MD5
552  SSL_CK_RC2_128_CBC_WITH_MD5             RC2-MD5
553  SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5    EXP-RC2-MD5
554  SSL_CK_IDEA_128_CBC_WITH_MD5            IDEA-CBC-MD5
555  SSL_CK_DES_64_CBC_WITH_MD5              DES-CBC-MD5
556  SSL_CK_DES_192_EDE3_CBC_WITH_MD5        DES-CBC3-MD5
557
558
559 =head1 NOTES
560
561 Some compiled versions of OpenSSL may not include all the ciphers
562 listed here because some ciphers were excluded at compile time.
563
564 =head1 EXAMPLES
565
566 Verbose listing of all OpenSSL ciphers including NULL ciphers:
567
568  openssl ciphers -v 'ALL:eNULL'
569
570 Include all ciphers except NULL and anonymous DH then sort by
571 strength:
572
573  openssl ciphers -v 'ALL:!ADH:@STRENGTH'
574
575 Include only 3DES ciphers and then place RSA ciphers last:
576
577  openssl ciphers -v '3DES:+RSA'
578
579 Include all RC4 ciphers but leave out those without authentication:
580
581  openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'
582
583 Include all chiphers with RSA authentication but leave out ciphers without
584 encryption.
585
586  openssl ciphers -v 'RSA:!COMPLEMENTOFALL'
587
588 =head1 SEE ALSO
589
590 L<s_client(1)|s_client(1)>, L<s_server(1)|s_server(1)>, L<ssl(3)|ssl(3)>
591
592 =head1 HISTORY
593
594 The B<COMPLENTOFALL> and B<COMPLEMENTOFDEFAULT> selection options
595 for cipherlist strings were added in OpenSSL 0.9.7.
596 The B<-V> option for the B<ciphers> command was added in OpenSSL 1.0.0.
597
598 =cut