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