121912bce6588b5c7a1b3cea0c6151013c44a06d
[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<-help>]
11 [B<-s>]
12 [B<-v>]
13 [B<-V>]
14 [B<-ssl3>]
15 [B<-tls1>]
16 [B<-tls1_1>]
17 [B<-tls1_2>]
18 [B<-s>]
19 [B<-psk>]
20 [B<-srp>]
21 [B<-stdname>]
22 [B<cipherlist>]
23
24 =head1 DESCRIPTION
25
26 The B<ciphers> command converts textual OpenSSL cipher lists into ordered
27 SSL cipher preference lists. It can be used as a test tool to determine
28 the appropriate cipherlist.
29
30 =head1 COMMAND OPTIONS
31
32 =over 4
33
34 =item B<-help>
35
36 Print a usage message.
37
38 =item B<-s>
39
40 Only list supported ciphers: those consistent with the security level, and
41 minimum and maximum protocol version.  This is closer to the actual cipher list
42 an application will support.
43
44 PSK and SRP ciphers are not enabled by default: they require B<-psk> or B<-srp>
45 to enable them.
46
47 It also does not change the default list of supported signature algorithms.
48
49 On a server the list of supported ciphers might also exclude other ciphers
50 depending on the configured certificates and presence of DH parameters.
51
52 If this option is not used then all ciphers that match the cipherlist will be
53 listed.
54
55 =item B<-psk>
56
57 When combined with B<-s> includes cipher suites which require PSK.
58
59 =item B<-srp>
60
61 When combined with B<-s> includes cipher suites which require SRP.
62
63 =item B<-v>
64
65 Verbose output: For each ciphersuite, list details as provided by
66 L<SSL_CIPHER_description(3)>.
67
68 =item B<-V>
69
70 Like B<-v>, but include the official cipher suite values in hex.
71
72 =item B<-tls1_2>
73
74 In combination with the B<-s> option, list the ciphers which would be used if
75 TLSv1.2 were negotiated.
76
77 =item B<-ssl3>
78
79 In combination with the B<-s> option, list the ciphers which would be used if
80 SSLv3 were negotiated.
81
82 =item B<-tls1>
83
84 In combination with the B<-s> option, list the ciphers which would be used if
85 TLSv1 were negotiated.
86
87 =item B<-tls1_1>
88
89 In combination with the B<-s> option, list the ciphers which would be used if
90 TLSv1.1 were negotiated.
91
92 =item B<-stdname>
93
94 precede each ciphersuite by its standard name: only available is OpenSSL
95 is built with tracing enabled (B<enable-ssl-trace> argument to Configure).
96
97 =item B<cipherlist>
98
99 a cipher list to convert to a cipher preference list. If it is not included
100 then the default cipher list will be used. The format is described below.
101
102 =back
103
104 =head1 CIPHER LIST FORMAT
105
106 The cipher list consists of one or more I<cipher strings> separated by colons.
107 Commas or spaces are also acceptable separators but colons are normally used.
108
109 The actual cipher string can take several different forms.
110
111 It can consist of a single cipher suite such as B<RC4-SHA>.
112
113 It can represent a list of cipher suites containing a certain algorithm, or
114 cipher suites of a certain type. For example B<SHA1> represents all ciphers
115 suites using the digest algorithm SHA1 and B<SSLv3> represents all SSL v3
116 algorithms.
117
118 Lists of cipher suites can be combined in a single cipher string using the
119 B<+> character. This is used as a logical B<and> operation. For example
120 B<SHA1+DES> represents all cipher suites containing the SHA1 B<and> the DES
121 algorithms.
122
123 Each cipher string can be optionally preceded by the characters B<!>,
124 B<-> or B<+>.
125
126 If B<!> is used then the ciphers are permanently deleted from the list.
127 The ciphers deleted can never reappear in the list even if they are
128 explicitly stated.
129
130 If B<-> is used then the ciphers are deleted from the list, but some or
131 all of the ciphers can be added again by later options.
132
133 If B<+> is used then the ciphers are moved to the end of the list. This
134 option doesn't add any new ciphers it just moves matching existing ones.
135
136 If none of these characters is present then the string is just interpreted
137 as a list of ciphers to be appended to the current preference list. If the
138 list includes any ciphers already present they will be ignored: that is they
139 will not moved to the end of the list.
140
141 The cipher string B<@STRENGTH> can be used at any point to sort the current
142 cipher list in order of encryption algorithm key length.
143
144 The cipher string B<@SECLEVEL=n> can be used at any point to set the security
145 level to B<n>.
146
147 =head1 CIPHER STRINGS
148
149 The following is a list of all permitted cipher strings and their meanings.
150
151 =over 4
152
153 =item B<DEFAULT>
154
155 The default cipher list.
156 This is determined at compile time and is normally
157 B<ALL:!COMPLEMENTOFDEFAULT:!eNULL>.
158 When used, this must be the first cipherstring specified.
159
160 =item B<COMPLEMENTOFDEFAULT>
161
162 The ciphers included in B<ALL>, but not enabled by default. Currently
163 this includes all RC4 and anonymous ciphers. Note that this rule does
164 not cover B<eNULL>, which is not included by B<ALL> (use B<COMPLEMENTOFALL> if
165 necessary). Note that RC4 based ciphersuites are not built into OpenSSL by
166 default (see the enable-weak-ssl-ciphers option to Configure).
167
168 =item B<ALL>
169
170 All cipher suites except the B<eNULL> ciphers (which must be explicitly enabled
171 if needed).
172 As of OpenSSL 1.0.0, the B<ALL> cipher suites are sensibly ordered by default.
173
174 =item B<COMPLEMENTOFALL>
175
176 The cipher suites not enabled by B<ALL>, currently B<eNULL>.
177
178 =item B<HIGH>
179
180 "high" encryption cipher suites. This currently means those with key lengths
181 larger than 128 bits, and some cipher suites with 128-bit keys.
182
183 =item B<MEDIUM>
184
185 "medium" encryption cipher suites, currently some of those using 128 bit
186 encryption.
187
188 =item B<LOW>
189
190 "low" encryption cipher suites, currently those using 64 or 56 bit
191 encryption algorithms but excluding export cipher suites.  All these
192 ciphersuites have been removed as of OpenSSL 1.1.0.
193
194 =item B<eNULL>, B<NULL>
195
196 The "NULL" ciphers that is those offering no encryption. Because these offer no
197 encryption at all and are a security risk they are not enabled via either the
198 B<DEFAULT> or B<ALL> cipher strings.
199 Be careful when building cipherlists out of lower-level primitives such as
200 B<kRSA> or B<aECDSA> as these do overlap with the B<eNULL> ciphers.  When in
201 doubt, include B<!eNULL> in your cipherlist.
202
203 =item B<aNULL>
204
205 The cipher suites offering no authentication. This is currently the anonymous
206 DH algorithms and anonymous ECDH algorithms. These cipher suites are vulnerable
207 to "man in the middle" attacks and so their use is discouraged.
208 These are excluded from the B<DEFAULT> ciphers, but included in the B<ALL>
209 ciphers.
210 Be careful when building cipherlists out of lower-level primitives such as
211 B<kDHE> or B<AES> as these do overlap with the B<aNULL> ciphers.
212 When in doubt, include B<!aNULL> in your cipherlist.
213
214 =item B<kRSA>, B<aRSA>, B<RSA>
215
216 Cipher suites using RSA key exchange, authentication or either respectively.
217
218 =item B<kDHr>, B<kDHd>, B<kDH>
219
220 Cipher suites using static DH key agreement and DH certificates signed by CAs
221 with RSA and DSS keys or either respectively.
222 All these cipher suites have been removed in OpenSSL 1.1.0.
223
224 =item B<kDHE>, B<kEDH>, B<DH>
225
226 Cipher suites using ephemeral DH key agreement, including anonymous cipher
227 suites.
228
229 =item B<DHE>, B<EDH>
230
231 Cipher suites using authenticated ephemeral DH key agreement.
232
233 =item B<ADH>
234
235 Anonymous DH cipher suites, note that this does not include anonymous Elliptic
236 Curve DH (ECDH) cipher suites.
237
238 =item B<kEECDH>, B<kECDHE>, B<ECDH>
239
240 Cipher suites using ephemeral ECDH key agreement, including anonymous
241 cipher suites.
242
243 =item B<ECDHE>, B<EECDH>
244
245 Cipher suites using authenticated ephemeral ECDH key agreement.
246
247 =item B<AECDH>
248
249 Anonymous Elliptic Curve Diffie Hellman cipher suites.
250
251 =item B<aDSS>, B<DSS>
252
253 Cipher suites using DSS authentication, i.e. the certificates carry DSS keys.
254
255 =item B<aDH>
256
257 Cipher suites effectively using DH authentication, i.e. the certificates carry
258 DH keys.
259 All these cipher suites have been removed in OpenSSL 1.1.0.
260
261 =item B<aECDSA>, B<ECDSA>
262
263 Cipher suites using ECDSA authentication, i.e. the certificates carry ECDSA
264 keys.
265
266 =item B<TLSv1.2>, B<TLSv1.0>, B<SSLv3>
267
268 Lists ciphersuites which are only supported in at least TLS v1.2, TLS v1.0 or
269 SSL v3.0 respectively.
270 Note: there are no ciphersuites specific to TLS v1.1.
271 Since this is only the minimum version, if, for example, TLSv1.0 is negotiated
272 then both TLSv1.0 and SSLv3.0 ciphersuites are available.
273
274 Note: these cipher strings B<do not> change the negotiated version of SSL or
275 TLS, they only affect the list of available cipher suites.
276
277 =item B<AES128>, B<AES256>, B<AES>
278
279 cipher suites using 128 bit AES, 256 bit AES or either 128 or 256 bit AES.
280
281 =item B<AESGCM>
282
283 AES in Galois Counter Mode (GCM): these ciphersuites are only supported
284 in TLS v1.2.
285
286 =item B<AESCCM>, B<AESCCM8>
287
288 AES in Cipher Block Chaining - Message Authentication Mode (CCM): these
289 ciphersuites are only supported in TLS v1.2. B<AESCCM> references CCM
290 cipher suites using both 16 and 8 octet Integrity Check Value (ICV)
291 while B<AESCCM8> only references 8 octet ICV.
292
293 =item B<CAMELLIA128>, B<CAMELLIA256>, B<CAMELLIA>
294
295 cipher suites using 128 bit CAMELLIA, 256 bit CAMELLIA or either 128 or 256 bit
296 CAMELLIA.
297
298 =item B<CHACHA20>
299
300 cipher suites using ChaCha20.
301
302 =item B<3DES>
303
304 cipher suites using triple DES.
305
306 =item B<DES>
307
308 Cipher suites using DES (not triple DES).
309 All these cipher suites have been removed in OpenSSL 1.1.0.
310
311 =item B<RC4>
312
313 Cipher suites using RC4.
314
315 =item B<RC2>
316
317 Cipher suites using RC2.
318
319 =item B<IDEA>
320
321 Cipher suites using IDEA.
322
323 =item B<SEED>
324
325 Cipher suites using SEED.
326
327 =item B<MD5>
328
329 Cipher suites using MD5.
330
331 =item B<SHA1>, B<SHA>
332
333 Cipher suites using SHA1.
334
335 =item B<SHA256>, B<SHA384>
336
337 Ciphersuites using SHA256 or SHA384.
338
339 =item B<aGOST>
340
341 Cipher suites using GOST R 34.10 (either 2001 or 94) for authentication
342 (needs an engine supporting GOST algorithms).
343
344 =item B<aGOST01>
345
346 Cipher suites using GOST R 34.10-2001 authentication.
347
348 =item B<kGOST>
349
350 Cipher suites, using VKO 34.10 key exchange, specified in the RFC 4357.
351
352 =item B<GOST94>
353
354 Cipher suites, using HMAC based on GOST R 34.11-94.
355
356 =item B<GOST89MAC>
357
358 Cipher suites using GOST 28147-89 MAC B<instead of> HMAC.
359
360 =item B<PSK>
361
362 All cipher suites using pre-shared keys (PSK).
363
364 =item B<kPSK>, B<kECDHEPSK>, B<kDHEPSK>, B<kRSAPSK>
365
366 Cipher suites using PSK key exchange, ECDHE_PSK, DHE_PSK or RSA_PSK.
367
368 =item B<aPSK>
369
370 Cipher suites using PSK authentication (currently all PSK modes apart from
371 RSA_PSK).
372
373 =item B<SUITEB128>, B<SUITEB128ONLY>, B<SUITEB192>
374
375 Enables suite B mode of operation using 128 (permitting 192 bit mode by peer)
376 128 bit (not permitting 192 bit by peer) or 192 bit level of security
377 respectively.
378 If used these cipherstrings should appear first in the cipher
379 list and anything after them is ignored.
380 Setting Suite B mode has additional consequences required to comply with
381 RFC6460.
382 In particular the supported signature algorithms is reduced to support only
383 ECDSA and SHA256 or SHA384, only the elliptic curves P-256 and P-384 can be
384 used and only the two suite B compliant ciphersuites
385 (ECDHE-ECDSA-AES128-GCM-SHA256 and ECDHE-ECDSA-AES256-GCM-SHA384) are
386 permissible.
387
388 =back
389
390 =head1 CIPHER SUITE NAMES
391
392 The following lists give the SSL or TLS cipher suites names from the
393 relevant specification and their OpenSSL equivalents. It should be noted,
394 that several cipher suite names do not include the authentication used,
395 e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
396
397 =head2 SSL v3.0 cipher suites
398
399  SSL_RSA_WITH_NULL_MD5                   NULL-MD5
400  SSL_RSA_WITH_NULL_SHA                   NULL-SHA
401  SSL_RSA_WITH_RC4_128_MD5                RC4-MD5
402  SSL_RSA_WITH_RC4_128_SHA                RC4-SHA
403  SSL_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
404  SSL_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
405
406  SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA        DH-DSS-DES-CBC3-SHA
407  SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA        DH-RSA-DES-CBC3-SHA
408  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA       DHE-DSS-DES-CBC3-SHA
409  SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA       DHE-RSA-DES-CBC3-SHA
410
411  SSL_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
412  SSL_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
413
414  SSL_FORTEZZA_KEA_WITH_NULL_SHA          Not implemented.
415  SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA  Not implemented.
416  SSL_FORTEZZA_KEA_WITH_RC4_128_SHA       Not implemented.
417
418 =head2 TLS v1.0 cipher suites
419
420  TLS_RSA_WITH_NULL_MD5                   NULL-MD5
421  TLS_RSA_WITH_NULL_SHA                   NULL-SHA
422  TLS_RSA_WITH_RC4_128_MD5                RC4-MD5
423  TLS_RSA_WITH_RC4_128_SHA                RC4-SHA
424  TLS_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
425  TLS_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
426
427  TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA        Not implemented.
428  TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA        Not implemented.
429  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA       DHE-DSS-DES-CBC3-SHA
430  TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA       DHE-RSA-DES-CBC3-SHA
431
432  TLS_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
433  TLS_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
434
435 =head2 AES ciphersuites from RFC3268, extending TLS v1.0
436
437  TLS_RSA_WITH_AES_128_CBC_SHA            AES128-SHA
438  TLS_RSA_WITH_AES_256_CBC_SHA            AES256-SHA
439
440  TLS_DH_DSS_WITH_AES_128_CBC_SHA         DH-DSS-AES128-SHA
441  TLS_DH_DSS_WITH_AES_256_CBC_SHA         DH-DSS-AES256-SHA
442  TLS_DH_RSA_WITH_AES_128_CBC_SHA         DH-RSA-AES128-SHA
443  TLS_DH_RSA_WITH_AES_256_CBC_SHA         DH-RSA-AES256-SHA
444
445  TLS_DHE_DSS_WITH_AES_128_CBC_SHA        DHE-DSS-AES128-SHA
446  TLS_DHE_DSS_WITH_AES_256_CBC_SHA        DHE-DSS-AES256-SHA
447  TLS_DHE_RSA_WITH_AES_128_CBC_SHA        DHE-RSA-AES128-SHA
448  TLS_DHE_RSA_WITH_AES_256_CBC_SHA        DHE-RSA-AES256-SHA
449
450  TLS_DH_anon_WITH_AES_128_CBC_SHA        ADH-AES128-SHA
451  TLS_DH_anon_WITH_AES_256_CBC_SHA        ADH-AES256-SHA
452
453 =head2 Camellia ciphersuites from RFC4132, extending TLS v1.0
454
455  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA      CAMELLIA128-SHA
456  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA      CAMELLIA256-SHA
457
458  TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA   DH-DSS-CAMELLIA128-SHA
459  TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA   DH-DSS-CAMELLIA256-SHA
460  TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA   DH-RSA-CAMELLIA128-SHA
461  TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA   DH-RSA-CAMELLIA256-SHA
462
463  TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA  DHE-DSS-CAMELLIA128-SHA
464  TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  DHE-DSS-CAMELLIA256-SHA
465  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA  DHE-RSA-CAMELLIA128-SHA
466  TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  DHE-RSA-CAMELLIA256-SHA
467
468  TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA  ADH-CAMELLIA128-SHA
469  TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA  ADH-CAMELLIA256-SHA
470
471 =head2 SEED ciphersuites from RFC4162, extending TLS v1.0
472
473  TLS_RSA_WITH_SEED_CBC_SHA              SEED-SHA
474
475  TLS_DH_DSS_WITH_SEED_CBC_SHA           DH-DSS-SEED-SHA
476  TLS_DH_RSA_WITH_SEED_CBC_SHA           DH-RSA-SEED-SHA
477
478  TLS_DHE_DSS_WITH_SEED_CBC_SHA          DHE-DSS-SEED-SHA
479  TLS_DHE_RSA_WITH_SEED_CBC_SHA          DHE-RSA-SEED-SHA
480
481  TLS_DH_anon_WITH_SEED_CBC_SHA          ADH-SEED-SHA
482
483 =head2 GOST ciphersuites from draft-chudov-cryptopro-cptls, extending TLS v1.0
484
485 Note: these ciphers require an engine which including GOST cryptographic
486 algorithms, such as the B<ccgost> engine, included in the OpenSSL distribution.
487
488  TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89
489  TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89
490  TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94
491  TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94
492
493 =head2 Additional Export 1024 and other cipher suites
494
495 Note: these ciphers can also be used in SSL v3.
496
497  TLS_DHE_DSS_WITH_RC4_128_SHA            DHE-DSS-RC4-SHA
498
499 =head2 Elliptic curve cipher suites.
500
501  TLS_ECDHE_RSA_WITH_NULL_SHA             ECDHE-RSA-NULL-SHA
502  TLS_ECDHE_RSA_WITH_RC4_128_SHA          ECDHE-RSA-RC4-SHA
503  TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA     ECDHE-RSA-DES-CBC3-SHA
504  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA      ECDHE-RSA-AES128-SHA
505  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA      ECDHE-RSA-AES256-SHA
506
507  TLS_ECDHE_ECDSA_WITH_NULL_SHA           ECDHE-ECDSA-NULL-SHA
508  TLS_ECDHE_ECDSA_WITH_RC4_128_SHA        ECDHE-ECDSA-RC4-SHA
509  TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA   ECDHE-ECDSA-DES-CBC3-SHA
510  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA    ECDHE-ECDSA-AES128-SHA
511  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    ECDHE-ECDSA-AES256-SHA
512
513  TLS_ECDH_anon_WITH_NULL_SHA             AECDH-NULL-SHA
514  TLS_ECDH_anon_WITH_RC4_128_SHA          AECDH-RC4-SHA
515  TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA     AECDH-DES-CBC3-SHA
516  TLS_ECDH_anon_WITH_AES_128_CBC_SHA      AECDH-AES128-SHA
517  TLS_ECDH_anon_WITH_AES_256_CBC_SHA      AECDH-AES256-SHA
518
519 =head2 TLS v1.2 cipher suites
520
521  TLS_RSA_WITH_NULL_SHA256                  NULL-SHA256
522
523  TLS_RSA_WITH_AES_128_CBC_SHA256           AES128-SHA256
524  TLS_RSA_WITH_AES_256_CBC_SHA256           AES256-SHA256
525  TLS_RSA_WITH_AES_128_GCM_SHA256           AES128-GCM-SHA256
526  TLS_RSA_WITH_AES_256_GCM_SHA384           AES256-GCM-SHA384
527
528  TLS_DH_RSA_WITH_AES_128_CBC_SHA256        DH-RSA-AES128-SHA256
529  TLS_DH_RSA_WITH_AES_256_CBC_SHA256        DH-RSA-AES256-SHA256
530  TLS_DH_RSA_WITH_AES_128_GCM_SHA256        DH-RSA-AES128-GCM-SHA256
531  TLS_DH_RSA_WITH_AES_256_GCM_SHA384        DH-RSA-AES256-GCM-SHA384
532
533  TLS_DH_DSS_WITH_AES_128_CBC_SHA256        DH-DSS-AES128-SHA256
534  TLS_DH_DSS_WITH_AES_256_CBC_SHA256        DH-DSS-AES256-SHA256
535  TLS_DH_DSS_WITH_AES_128_GCM_SHA256        DH-DSS-AES128-GCM-SHA256
536  TLS_DH_DSS_WITH_AES_256_GCM_SHA384        DH-DSS-AES256-GCM-SHA384
537
538  TLS_DHE_RSA_WITH_AES_128_CBC_SHA256       DHE-RSA-AES128-SHA256
539  TLS_DHE_RSA_WITH_AES_256_CBC_SHA256       DHE-RSA-AES256-SHA256
540  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256       DHE-RSA-AES128-GCM-SHA256
541  TLS_DHE_RSA_WITH_AES_256_GCM_SHA384       DHE-RSA-AES256-GCM-SHA384
542
543  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256       DHE-DSS-AES128-SHA256
544  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256       DHE-DSS-AES256-SHA256
545  TLS_DHE_DSS_WITH_AES_128_GCM_SHA256       DHE-DSS-AES128-GCM-SHA256
546  TLS_DHE_DSS_WITH_AES_256_GCM_SHA384       DHE-DSS-AES256-GCM-SHA384
547
548  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256     ECDHE-RSA-AES128-SHA256
549  TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384     ECDHE-RSA-AES256-SHA384
550  TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256     ECDHE-RSA-AES128-GCM-SHA256
551  TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     ECDHE-RSA-AES256-GCM-SHA384
552
553  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256   ECDHE-ECDSA-AES128-SHA256
554  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384   ECDHE-ECDSA-AES256-SHA384
555  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDHE-ECDSA-AES128-GCM-SHA256
556  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384   ECDHE-ECDSA-AES256-GCM-SHA384
557
558  TLS_DH_anon_WITH_AES_128_CBC_SHA256       ADH-AES128-SHA256
559  TLS_DH_anon_WITH_AES_256_CBC_SHA256       ADH-AES256-SHA256
560  TLS_DH_anon_WITH_AES_128_GCM_SHA256       ADH-AES128-GCM-SHA256
561  TLS_DH_anon_WITH_AES_256_GCM_SHA384       ADH-AES256-GCM-SHA384
562
563  RSA_WITH_AES_128_CCM                      AES128-CCM
564  RSA_WITH_AES_256_CCM                      AES256-CCM
565  DHE_RSA_WITH_AES_128_CCM                  DHE-RSA-AES128-CCM
566  DHE_RSA_WITH_AES_256_CCM                  DHE-RSA-AES256-CCM
567  RSA_WITH_AES_128_CCM_8                    AES128-CCM8
568  RSA_WITH_AES_256_CCM_8                    AES256-CCM8
569  DHE_RSA_WITH_AES_128_CCM_8                DHE-RSA-AES128-CCM8
570  DHE_RSA_WITH_AES_256_CCM_8                DHE-RSA-AES256-CCM8
571  ECDHE_ECDSA_WITH_AES_128_CCM              ECDHE-ECDSA-AES128-CCM
572  ECDHE_ECDSA_WITH_AES_256_CCM              ECDHE-ECDSA-AES256-CCM
573  ECDHE_ECDSA_WITH_AES_128_CCM_8            ECDHE-ECDSA-AES128-CCM8
574  ECDHE_ECDSA_WITH_AES_256_CCM_8            ECDHE-ECDSA-AES256-CCM8
575
576 =head2 Camellia HMAC-Based ciphersuites from RFC6367, extending TLS v1.2
577
578  TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256
579  TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384
580  TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   ECDHE-RSA-CAMELLIA128-SHA256
581  TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   ECDHE-RSA-CAMELLIA256-SHA384
582
583 =head2 Pre-shared keying (PSK) ciphersuites
584
585  PSK_WITH_NULL_SHA                         PSK-NULL-SHA
586  DHE_PSK_WITH_NULL_SHA                     DHE-PSK-NULL-SHA
587  RSA_PSK_WITH_NULL_SHA                     RSA-PSK-NULL-SHA
588
589  PSK_WITH_RC4_128_SHA                      PSK-RC4-SHA
590  PSK_WITH_3DES_EDE_CBC_SHA                 PSK-3DES-EDE-CBC-SHA
591  PSK_WITH_AES_128_CBC_SHA                  PSK-AES128-CBC-SHA
592  PSK_WITH_AES_256_CBC_SHA                  PSK-AES256-CBC-SHA
593
594  DHE_PSK_WITH_RC4_128_SHA                  DHE-PSK-RC4-SHA
595  DHE_PSK_WITH_3DES_EDE_CBC_SHA             DHE-PSK-3DES-EDE-CBC-SHA
596  DHE_PSK_WITH_AES_128_CBC_SHA              DHE-PSK-AES128-CBC-SHA
597  DHE_PSK_WITH_AES_256_CBC_SHA              DHE-PSK-AES256-CBC-SHA
598
599  RSA_PSK_WITH_RC4_128_SHA                  RSA-PSK-RC4-SHA
600  RSA_PSK_WITH_3DES_EDE_CBC_SHA             RSA-PSK-3DES-EDE-CBC-SHA
601  RSA_PSK_WITH_AES_128_CBC_SHA              RSA-PSK-AES128-CBC-SHA
602  RSA_PSK_WITH_AES_256_CBC_SHA              RSA-PSK-AES256-CBC-SHA
603
604  PSK_WITH_AES_128_GCM_SHA256               PSK-AES128-GCM-SHA256
605  PSK_WITH_AES_256_GCM_SHA384               PSK-AES256-GCM-SHA384
606  DHE_PSK_WITH_AES_128_GCM_SHA256           DHE-PSK-AES128-GCM-SHA256
607  DHE_PSK_WITH_AES_256_GCM_SHA384           DHE-PSK-AES256-GCM-SHA384
608  RSA_PSK_WITH_AES_128_GCM_SHA256           RSA-PSK-AES128-GCM-SHA256
609  RSA_PSK_WITH_AES_256_GCM_SHA384           RSA-PSK-AES256-GCM-SHA384
610
611  PSK_WITH_AES_128_CBC_SHA256               PSK-AES128-CBC-SHA256
612  PSK_WITH_AES_256_CBC_SHA384               PSK-AES256-CBC-SHA384
613  PSK_WITH_NULL_SHA256                      PSK-NULL-SHA256
614  PSK_WITH_NULL_SHA384                      PSK-NULL-SHA384
615  DHE_PSK_WITH_AES_128_CBC_SHA256           DHE-PSK-AES128-CBC-SHA256
616  DHE_PSK_WITH_AES_256_CBC_SHA384           DHE-PSK-AES256-CBC-SHA384
617  DHE_PSK_WITH_NULL_SHA256                  DHE-PSK-NULL-SHA256
618  DHE_PSK_WITH_NULL_SHA384                  DHE-PSK-NULL-SHA384
619  RSA_PSK_WITH_AES_128_CBC_SHA256           RSA-PSK-AES128-CBC-SHA256
620  RSA_PSK_WITH_AES_256_CBC_SHA384           RSA-PSK-AES256-CBC-SHA384
621  RSA_PSK_WITH_NULL_SHA256                  RSA-PSK-NULL-SHA256
622  RSA_PSK_WITH_NULL_SHA384                  RSA-PSK-NULL-SHA384
623  PSK_WITH_AES_128_GCM_SHA256               PSK-AES128-GCM-SHA256
624  PSK_WITH_AES_256_GCM_SHA384               PSK-AES256-GCM-SHA384
625
626  ECDHE_PSK_WITH_RC4_128_SHA                ECDHE-PSK-RC4-SHA
627  ECDHE_PSK_WITH_3DES_EDE_CBC_SHA           ECDHE-PSK-3DES-EDE-CBC-SHA
628  ECDHE_PSK_WITH_AES_128_CBC_SHA            ECDHE-PSK-AES128-CBC-SHA
629  ECDHE_PSK_WITH_AES_256_CBC_SHA            ECDHE-PSK-AES256-CBC-SHA
630  ECDHE_PSK_WITH_AES_128_CBC_SHA256         ECDHE-PSK-AES128-CBC-SHA256
631  ECDHE_PSK_WITH_AES_256_CBC_SHA384         ECDHE-PSK-AES256-CBC-SHA384
632  ECDHE_PSK_WITH_NULL_SHA                   ECDHE-PSK-NULL-SHA
633  ECDHE_PSK_WITH_NULL_SHA256                ECDHE-PSK-NULL-SHA256
634  ECDHE_PSK_WITH_NULL_SHA384                ECDHE-PSK-NULL-SHA384
635
636  PSK_WITH_CAMELLIA_128_CBC_SHA256          PSK-CAMELLIA128-SHA256
637  PSK_WITH_CAMELLIA_256_CBC_SHA384          PSK-CAMELLIA256-SHA384
638
639  DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256      DHE-PSK-CAMELLIA128-SHA256
640  DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384      DHE-PSK-CAMELLIA256-SHA384
641
642  RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256      RSA-PSK-CAMELLIA128-SHA256
643  RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384      RSA-PSK-CAMELLIA256-SHA384
644
645  ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256    ECDHE-PSK-CAMELLIA128-SHA256
646  ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384    ECDHE-PSK-CAMELLIA256-SHA384
647
648  PSK_WITH_AES_128_CCM                      PSK-AES128-CCM
649  PSK_WITH_AES_256_CCM                      PSK-AES256-CCM
650  DHE_PSK_WITH_AES_128_CCM                  DHE-PSK-AES128-CCM
651  DHE_PSK_WITH_AES_256_CCM                  DHE-PSK-AES256-CCM
652  PSK_WITH_AES_128_CCM_8                    PSK-AES128-CCM8
653  PSK_WITH_AES_256_CCM_8                    PSK-AES256-CCM8
654  DHE_PSK_WITH_AES_128_CCM_8                DHE-PSK-AES128-CCM8
655  DHE_PSK_WITH_AES_256_CCM_8                DHE-PSK-AES256-CCM8
656
657 =head2 ChaCha20-Poly1305 cipher suites, extending TLS v1.2
658
659  TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256      ECDHE-RSA-CHACHA20-POLY1305
660  TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256    ECDHE-ECDSA-CHACHA20-POLY1305
661  TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256        DHE-RSA-CHACHA20-POLY1305
662  TLS_PSK_WITH_CHACHA20_POLY1305_SHA256            PSK-CHACHA20-POLY1305
663  TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256      ECDHE-PSK-CHACHA20-POLY1305
664  TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256        DHE-PSK-CHACHA20-POLY1305
665  TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256        RSA-PSK-CHACHA20-POLY1305
666
667 =head2 Older names used by OpenSSL
668
669 The following names are accepted by older releases:
670
671  SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA    EDH-RSA-DES-CBC3-SHA (DHE-RSA-DES-CBC3-SHA)
672  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA    EDH-DSS-DES-CBC3-SHA (DHE-DSS-DES-CBC3-SHA)
673
674 =head1 NOTES
675
676 Some compiled versions of OpenSSL may not include all the ciphers
677 listed here because some ciphers were excluded at compile time.
678
679 =head1 EXAMPLES
680
681 Verbose listing of all OpenSSL ciphers including NULL ciphers:
682
683  openssl ciphers -v 'ALL:eNULL'
684
685 Include all ciphers except NULL and anonymous DH then sort by
686 strength:
687
688  openssl ciphers -v 'ALL:!ADH:@STRENGTH'
689
690 Include all ciphers except ones with no encryption (eNULL) or no
691 authentication (aNULL):
692
693  openssl ciphers -v 'ALL:!aNULL'
694
695 Include only 3DES ciphers and then place RSA ciphers last:
696
697  openssl ciphers -v '3DES:+RSA'
698
699 Include all RC4 ciphers but leave out those without authentication:
700
701  openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'
702
703 Include all ciphers with RSA authentication but leave out ciphers without
704 encryption.
705
706  openssl ciphers -v 'RSA:!COMPLEMENTOFALL'
707
708 Set security level to 2 and display all ciphers consistent with level 2:
709
710  openssl ciphers -s -v 'ALL:@SECLEVEL=2'
711
712 =head1 SEE ALSO
713
714 L<s_client(1)>, L<s_server(1)>, L<ssl(3)>
715
716 =head1 HISTORY
717
718 The B<-V> option for the B<ciphers> command was added in OpenSSL 1.0.0.
719
720 =head1 COPYRIGHT
721
722 Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
723
724 Licensed under the OpenSSL license (the "License").  You may not use
725 this file except in compliance with the License.  You can obtain a copy
726 in the file LICENSE in the source distribution or at
727 L<https://www.openssl.org/source/license.html>.
728
729 =cut