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