type=page
status=published
title=list-secure-admin-principals
next=list-sub-components.html
prev=list-secure-admin-internal-users.html
~~~~~~
list-secure-admin-principals
============================

[[list-secure-admin-principals-1]][[GSRFM00200]][[list-secure-admin-principals]]

list-secure-admin-principals
----------------------------

lists the certificates for which \{product---name} accepts admin
requests from clients.

[[sthref1795]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-secure-admin-principals [--help] 
[--long={false|true}]
[--output output]
[--header={false|true}]
[name]
----

[[sthref1796]]

Description

The `list-secure-admin-principals` subcommand lists the certificates for
which \{product---name} accepts admin requests from clients.

[[sthref1797]]

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.
`--long`::
`-l`::
  Displays detailed information about the certificates for which
  \{product---name} accepts admin requests from clients. The default
  value is `false`.
`--output`::
`-o`::
  Displays specific details about the certificates for which
  \{product---name} accepts admin requests from clients. Use a
  comma-separated list to specify the details you want to display and
  their order. The values are case-insensitive. +
  Possible values are as follows: +
  `DN`;;
    Displays the distinguished name (DN) of each certificate.
`--header`::
`-h`::
  Specifies whether column headings are displayed when the `--long`
  option is used. The default value is `true`. To suppress the headings,
  set the `--header` option to `false`.

[[sthref1798]]

Operands

name::
  The distinguished name of the certificate, specified as a
  comma-separated list in quotes. For example:
  `"CN=system.amer.oracle.com,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US"`.

[[sthref1799]]

Examples

[[GSRFM710]][[sthref1800]]

Example 1   Listing the Certificates

This example lists the certificates for which \{product---name} accepts
admin requests from clients.

[source,oac_no_warn]
----
asadmin> list-secure-admin-principals 
CN=localhost,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
CN=localhost-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US
Command list-secure-admin-principals executed successfully.
----

[[sthref1801]]

Exit Status

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

[[sthref1802]]

See Also

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

link:enable-secure-admin.html#enable-secure-admin-1[`enable-secure-admin`(1)],
link:enable-secure-admin-principal.html#enable-secure-admin-principal-1[`enable-secure-admin-principal`(1)]


