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