type=page
status=published
title=create-message-security-provider
next=create-module-config.html
prev=create-managed-thread-factory.html
~~~~~~

= create-message-security-provider

[[create-message-security-provider-1]][[GSRFM00045]][[create-message-security-provider]]

== create-message-security-provider

Enables administrators to create a message security provider, which
specifies how SOAP messages will be secured.

[[sthref421]]

=== Synopsis

[source]
----
asadmin [asadmin-options] create-message-security-provider [--help]
[--target target]
--classname provider_class
[--layer message_layer] [--providertype provider_type]
[--requestauthsource request_auth_source ]
[--requestauthrecipient request_auth_recipient ]
[--responseauthsource response_auth_source ]
[--responseauthrecipient response_auth_recipient ]
[--isdefaultprovider] [--property name=value[:name=value]*]
provider_name
----

[[sthref422]]

=== Description

The `create-message-security-provider` subcommand enables the
administrator to create a message security provider for the security
service which specifies how SOAP messages will be secured.

This command is supported in remote mode only.

[[sthref423]]

=== Options

If an option has a short option name, then the short option precedes the
long option name. Short options have one dash whereas long options have
two dashes.

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 are creating the message security
  provider. The following values are valid:

  `server`;;
    Creates the provider for the default server instance `server` and is
    the default value.
  `domain`;;
    Creates the provider for the domain.
  cluster_name;;
    Creates the provider for every server instance in the cluster.
  instance_name;;
    Creates the provider for a particular sever instance.

`--classname`::
  Defines the Java implementation class of the provider. Client
  authentication providers must implement the
  `com.sun.enterprise. security.jauth.ClientAuthModule` interface.
  Server-side providers must implement the
  `com.sun.enterprise.security jauth.ServerAuthModule` interface. A
  provider may implement both interfaces, but it must implement the
  interface corresponding to its provider type.
`--layer`::
  The message-layer entity used to define the value of the `auth-layer`
  attribute of `message-security-config` elements. The default is
  `HttpServlet`. Another option is `SOAP`.
`--providertype`::
  Establishes whether the provider is to be used as client
  authentication provider, server authentication provider, or both.
  Valid options for this property include `client`, `server`, or
  `client-server`.
`--requestauthsource`::
  The `auth-source` attribute defines a requirement for message-layer
  sender authentication (e.g. username password) or content
  authentication (e.g. digital signature) to be applied to request
  messages. Possible values are `sender` or `content`. When this
  argument is not specified, source authentication of the request is not
  required.
`--requestauthrecipient`::
  The `auth-recipient` attribute defines a requirement for message-layer
  authentication of the receiver of a message to its sender (e.g. by XML
  encryption). Possible values are `before-content` or `after-content`.
  The default value is `after-content`.
`--responseauthsource`::
  The `auth-source` attribute defines a requirement for message-layer
  sender authentication (e.g. username password) or content
  authentication (e.g. digital signature) to be applied to response
  messages. Possible values are `sender` or `content`. When this option
  is not specified, source authentication of the response is not
  required.
`--responseauthrecipient`::
  The `auth-recipient` attribute defines a requirement for message-layer
  authentication of the receiver of the response message to its sender
  (e.g. by XML encryption). Possible values are `before-content` or
  `after-content`. The default value is `after-content`.
`--isdefaultprovider`::
  The `default-provider` attribute is used to designate the provider as
  the default provider (at the layer) of the type or types identified by
  the `providertype` argument. There is no default associated with this
  option.
`--property`::
  Use this property to pass provider-specific property values to the
  provider when it is initialized. Properties passed in this way might
  include key aliases to be used by the provider to get keys from
  keystores, signing, canonicalization, encryption algorithms, etc. +
  The following properties may be set:

  `security.config`;;
    Specifies the location of the message security configuration file.
    To point to a configuration file in the domain-dir`/config`
    directory, use the system property
    `${com.sun.aas.instanceRoot}/config/`, for example:
    `${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml`. The
    default is domain-dir`/config/ wss-serverconfig-1.0.xml`.
  `debug`;;
    If `true`, enables dumping of server provider debug messages to the
    server log. The default is `false`.
  `dynamic.username. password`;;
    If `true`, signals the provider runtime to collect the user name and
    password from the `CallbackHandler` for each request. If `false`,
    the user name and password for `wsse:UsernameToken`(s) is collected
    once, during module initialization. This property is only applicable
    for a `ClientAuthModule`. The default is `false`.
  `encryption.key.alias`;;
    Specifies the encryption key used by the provider. The key is
    identified by its keystore alias. The default value is `s1as`.
  `signature.key.alias`;;
    Specifies the signature key used by the provider. The key is
    identified by its keystore alias. The default value is `s1as`.

[[sthref424]]

=== Operands

provider_name::
  The name of the provider used to reference the `provider-config`
  element.

[[sthref425]]

=== Examples

[[GSRFM507]][[sthref426]]

==== Example 1   Creating a Message Security Provider

The following example shows how to create a message security provider
for a client.

[source]
----
asadmin> create-message-security-provider
--classname com.sun.enterprise.security.jauth.ClientAuthModule
--providertype client mySecurityProvider
----

[[sthref427]]

=== Exit Status

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

[[sthref428]]

=== See Also

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

link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)],
link:list-message-security-providers.html#list-message-security-providers-1[`list-message-security-providers`(1)]


