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