type=page
status=published
title=list-supported-cipher-suites
next=list-system-properties.html
prev=list-sub-components.html
~~~~~~
list-supported-cipher-suites
============================

[[list-supported-cipher-suites-1]][[GSRFM00202]][[list-supported-cipher-suites]]

list-supported-cipher-suites
----------------------------

enables administrators to list the cipher suites that are supported and
available to a specified \{product---name} target

[[sthref1811]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-supported-cipher-suites [--help] 
[--target target]
----

[[sthref1812]]

Description

The `list-supported-cipher-suites` subcommand enables administrators to
list the cipher suites that are supported and available to a specified
\{product---name} target. The cipher suites that may be available in
addition to the default SSL/TLS providers that are bundled with
\{product---name} packages will vary depending on the third-party
provider.

This subcommand is supported in remote mode only.

[[sthref1813]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  Specifies the target for which you want to list cipher suites. The
  following values are valid: +
  `server`;;
    Lists the cipher suites for the default server instance. This is the
    default value.
  configuration_name;;
    Lists the cipher suites for the specified configuration.
  cluster_name;;
    Lists the cipher suites for all server instances in the specified
    cluster.
  instance_name;;
    Lists the cipher suites for a specified server instance.

[[sthref1814]]

Examples

[[GSRFM712]][[sthref1815]]

Example 1   Listing cipher suites

The following example shows how to list cipher suites for the default
domain.

[source,oac_no_warn]
----
asadmin> list-supported-cipher-suites
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_DES_CBC_SHA
SSL_DHE_RSA_WITH_DES_CBC_SHA
SSL_DHE_DSS_WITH_DES_CBC_SHA
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
SSL_RSA_WITH_NULL_MD5
SSL_RSA_WITH_NULL_SHA
SSL_DH_anon_WITH_RC4_128_MD5
TLS_DH_anon_WITH_AES_128_CBC_SHA
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
SSL_DH_anon_WITH_DES_CBC_SHA
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA

Command list-supported-cipher-suites executed successfully.
----

[[sthref1816]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1817]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]


