Author: buildbot
Date: Mon Mar 3 15:48:37 2014
New Revision: 899875
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/ws-securitypolicy.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/ws-securitypolicy.html
==============================================================================
--- websites/production/cxf/content/docs/ws-securitypolicy.html (original)
+++ websites/production/cxf/content/docs/ws-securitypolicy.html Mon Mar 3
15:48:37 2014
@@ -117,7 +117,7 @@ Apache CXF -- WS-SecurityPolicy
<td height="100%">
<!-- Content -->
<div class="wiki-content">
-<div id="ConfluenceContent"><h1
id="WS-SecurityPolicy-WS-SecurityPolicy">WS-SecurityPolicy</h1><p>CXF 2.2
introduced support for using <a shape="rect" class="external-link"
href="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.3/ws-securitypolicy.html"
rel="nofollow">WS-SecurityPolicy</a> to configure WSS4J instead of the custom
configuration documented on the <a shape="rect"
href="ws-security.html">WS-Security</a> page. However, all of the "background"
material on the <a shape="rect" href="ws-security.html">WS-Security</a> page
still applies and is important to know. WS-SecurityPolicy just provides an
easier and more standards based way to configure and control the security
requirements. With the security requirements documented in the WSDL as <a
shape="rect" href="ws-policy.html">WS-Policy</a> fragments, other tools such as
.NET can easily know how to configure themselves to inter-operate with CXF
services.</p><h3 id="WS-SecurityPolicy-EnablingWS-SecurityPolicy">Enabling WS-
SecurityPolicy</h3><p>In CXF 2.2, if the cxf-rt-ws-policy and
cxf-rt-ws-security modules are available on the classpath, the
WS-SecurityPolicy stuff is automatically enabled. Since the entire security
runtime is policy driven, the only requirement is that the policy engine and
security policies be available.</p><p>If you are using the full "bundle" jar,
all the security and policy stuff is already included.</p><h3
id="WS-SecurityPolicy-Policydescription">Policy description</h3><p>With
WS-SecurityPolicy, the binding and/or operation in the wsdl references a <a
shape="rect" href="ws-policy.html">WS-Policy</a> fragment that describes the
basic security requirements for interacting with that service. The <a
shape="rect" class="external-link"
href="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.3/ws-securitypolicy.html"
rel="nofollow">WS-SecurityPolicy specification</a> allows for specifying
things like asymmetric/symmetric keys, using transports (https) for encryption,
which part
s/headers to encrypt or sign, whether to sign then encrypt or encrypt then
sign, whether to include timestamps, whether to use derived keys, etc...
Basically, it describes what actions are necessary to securely interact with
the service described in the WSDL.</p><p>However, the WS-SecurityPolicy
fragment does not include "everything" that is required for a runtime to be
able to able to create the messages. It does not describe things such as
locations of key stores, user names and passwords, etc... Those need to be
configured in at runtime to augment the WS-SecurityPolicy fragment.</p><h3
id="WS-SecurityPolicy-Configuringtheextraproperties">Configuring the extra
properties</h3><p>There are several extra properties that may need to be set to
provide the additional bits of information to the runtime. Note that you should
check that a particular property is supported in the version of CXF you are
using.</p><h4 id="WS-SecurityPolicy-Userproperties">User properties</h4><div
class="table-
wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name. It is used differently by
each of the WS-Security functions, see <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#USERNAME">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.password</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's password when
"ws-security.callback-handler" is not defined. It is currently only used for
the case of adding a password to a UsernameToken.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name for signature. It is used
as the alias name in the keystore to get the user's cert and private key for sig
nature. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SIGNATURE_USERNAME">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.encryption.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name for encryption. It is used
as the alias name in the keystore to get the user's public key for encryption.
See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENCRYPT_USERNAME">here</a>
for more information.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-CallbackClassandCryptoproperties">Callback Class and
Crypto properties</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.callback-handler</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The CallbackHandler <a shape="rect" h
ref="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#CALLBACK_HANDLER">implementation</a>
class used to obtain passwords.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml-callback-handler</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The SAML CallbackHandler <a
shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SAML_CALLBACK_HANDLER">implementation</a>
class used to construct SAML Assertions.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.signature.properties</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The Crypto property <a
shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SIGNATURE_PROPERTIES">configuration</a>
to use for signature, if "ws-security.signature.crypto" is not set
instead.</p></td></tr><tr><td colspan="1" rowspan="1" clas
s="confluenceTd"><p>ws-security.encryption.properties</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The Crypto property <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENCRYPT_PROPERTIES">configuration</a>
to use for encryption, if "ws-security.encryption.crypto" is not set
instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.crypto</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A Crypto <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/components/crypto/Crypto.html">object</a>
to be used for signature. If this is not defined then
"ws-security.signature.properties" is used instead.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.encryption.crypto</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A Crypto <a shape="rect"
class="external-link" href="http://ws
.apache.org/wss4j/apidocs/org/apache/ws/security/components/crypto/Crypto.html">object</a>
to be used for encryption. If this is not defined then
"ws-security.encryption.properties" is used
instead.</p></td></tr></tbody></table></div><p><strong>Note:</strong> for
Symmetric bindings that specify a protection token, the ws-security-encryption
properties are used.</p><h4
id="WS-SecurityPolicy-BooleanWS-Securityconfigurationtags,e.g.thevalueshouldbe"true"or"false".">Boolean
WS-Security configuration tags, e.g. the value should be "true" or
"false".</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>constant</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>default</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>definition</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.validate.token</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>
true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to
validate the password of a received UsernameToken or not.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.enableRevocation</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Whether to enable Certificate Revocation List (CRL)
checking or not when verifying trust in a certificate.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.username-token.always.encrypted</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to always encrypt UsernameTokens
that are defined as a SupportingToken. This should not be set to false in a
production environment, as it exposes the password (or the digest of the
password) on the wire.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.
is-bsp-compliant</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Whether to ensure compliance with the Basic Security
Profile (BSP) 1.1 or not.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.self-sign-saml-assertion</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to self-sign a SAML Assertion or
not. If this is set to true, then an enveloped signature will be generated when
the SAML Assertion is constructed.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.enable.nonce.cache</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(varies)</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to cache UsernameToken nonces. See
<a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENABLE_
NONCE_CACHE">here</a> for more information.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.enable.timestamp.cache</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(varies)</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whether to cache Timestamp
Created Strings. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENABLE_TIMESTAMP_CACHE">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">ws-security.enable.saml.cache</td><td colspan="1"
rowspan="1" class="confluenceTd">(varies)</td><td colspan="1" rowspan="1"
class="confluenceTd">Whether to cache SAML2 Token Identifiers, if the token
contains a "OneTimeUse" Condition.</td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-Non-booleanWS-SecurityConfigurationparameters">Non-boolean
WS-Security Configuration parameters</h4><div class="table-wrap"><table
class="confluenceTa
ble"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.timeToLive</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The time in seconds to append
to the Creation value of an incoming Timestamp to determine whether to accept
the Timestamp as valid or not. The default value is 300 seconds (5
minutes).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.futureTimeToLive</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The time in seconds in the
future within which the Created time of an incoming Timestamp is valid. The
default value is "60". See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#TIMESTAMP_FUTURE_TTL">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml-role-attributename</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The attribute URI of the S
AML AttributeStatement where the role information is stored. The default is
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role".</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.client</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A reference to the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosClient.java?view=markup">KerberosClient</a>
class used to obtain a service ticket.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.spnego.client.action</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/spnego/SpnegoClientAction.html">SpnegoClientAction</a>
implementation to use for SPNEGO. This allows the user to plug in a different
implementation to obtain a service ticket.<
/p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.jaas.context</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The JAAS Context name to use
for Kerberos. This is currently only supported for SPNEGO.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.spn</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The Kerberos Service Provider Name (spn) to
use. This is currently only supported for SPNEGO.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.nonce.cache.instance</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This holds a reference to a <a
shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache UsernameToken nonces. The default instance that is used
is the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/tru
nk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.cache.instance</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This holds a reference to a <a
shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache Timestamp Created Strings. The default instance that is
used is the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">ws-security.saml.cache.instance</td><td colspan="1"
rowspan="1" class="confluenceTd">This holds a reference to a <a shape="rect"
class="external-link" href="http://ws.apach
e.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache SAML2 Token Identifiers, when the token has a
"OneTimeUse" Condition. The default instance that is used is the <a
shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.cache.config.file</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Set this property to point to a
configuration file for the underlying caching implementation. The default
configuration file that is used is <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/resources/cxf-ehcache.xml?view=markup">cxf-ehcache.xml</a>
in the cxf-rt-ws-security module.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apach
e.cxf.ws.security.tokenstore.TokenStore</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStore.java?view=markup">TokenStore</a>
instance to use to cache security tokens. By default this uses the <a
shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java?view=markup">EHCacheTokenStore</a>
if EhCache is available. Otherwise it uses the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/MemoryTokenStore.java?view=markup">MemoryTokenStore</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.subject.cert.constraints</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A co
mma separated String of regular expressions which will be applied to the
subject DN of the certificate used for signature validation, after trust
verification of the certificate chain associated with the certificate. These
constraints are not used when the certificate is contained in the keystore
(direct trust).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.role.classifier</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If one of the WSS4J Validators returns a
JAAS Subject from Validation, then the WSS4JInInterceptor will attempt to
create a SecurityContext based on this Subject. If this value is not specified,
then it tries to get roles using the DefaultSecurityContext in cxf-rt-core.
Otherwise it uses this value in combination with the
SUBJECT_ROLE_CLASSIFIER_TYPE to get the roles from the
Subject.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.role.classifier.type</p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p>If one of the WSS4J Validators returns a JAAS Subject
from Validation, then the WSS4JInInterceptor will attempt to create a
SecurityContext based on this Subject. Currently accepted values are "prefix"
or "classname". Must be used in conjunction with the SUBJECT_ROLE_CLASSIFIER.
The default value is "prefix".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.asymmetric.signature.algorithm</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This configuration tag
overrides the default Asymmetric Signature algorithm (RSA-SHA1) for use in
WS-SecurityPolicy, as the WS-SecurityPolicy specification does not allow the
use of other algorithms at present.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-Validatorimplementationsforvalidatingreceivedsecuritytokens">Validator
implementations for validating received security tokens</h4><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowsp
an="1" class="confluenceTd"><p>ws-security.ut.validator</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to
use to validate UsernameTokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/UsernameTokenValidator.html">UsernameTokenValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml1.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SAML 1.1 Tokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/SamlAssertionValidator.html">SamlAssertionValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml2.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SAML
2.0 Tokens. The default value is the <a shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/SamlAssertionValidator.html">SamlAssertionValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate Timestamps. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/TimestampValidator.html">TimestampValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate trust in credentials used in Signature verification. The default value
is the <a shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/secur
ity/validate/SignatureTrustValidator.html">SignatureTrustValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.bst.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate BinarySecurityTokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/NoOpValidator.html">NoOpValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sct.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SecurityContextTokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/NoOpValidator.html">NoOpValidator</a>.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-STSClientConfigurationtags">STS Client Configuration
tags</h4><
div class="table-wrap"><table class="confluenceTable"><tbody><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.client</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A reference to the STSClient class used to
communicate with the STS.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.applies-to</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The "AppliesTo" address to send to the STS.
The default is the endpoint address of the service
provider.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.usecert</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If true, writes out an X509Certificate
structure in UseKey/KeyInfo. If false (the default), writes out a KeyValue
structure instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.do.cancel</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to can
cel a token when using SecureConversation after successful invocation. The
default is "false".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.cache.issued.token.in.endpoint</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Set this to "false" to not
cache a SecurityToken per proxy object in the IssuedTokenInterceptorProvider.
This should be done if a token is being retrieved from an STS in an
intermediary. The default value is "true".</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.sts.disable-wsmex-call-using-epr-address</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whether to avoid STS client
trying send WS-MetadataExchange call using STS EPR WSA address when the
endpoint contract contains no WS-MetadataExchange info. The default value is
"false".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.crypto</p></td><td colspan="1"
rowspan="1" class="confl
uenceTd"><p>A Crypto object to be used for the STS. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_CRYPTO">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.properties</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The Crypto property
configuration to use for the STS. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_PROPERTIES">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The alias name in the keystore to get the
user's public key to send to the STS for the PublicKey KeyType
case.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.act-as</p></td><td colspan="1"
rowspan=
"1" class="confluenceTd"><p>The token to be sent to the STS in an "ActAs"
field. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_ACT_AS">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.on-behalf-of</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The token to be sent to the STS
in an "OnBehalfOf" field. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_ON_BEHALF_OF">here</a>
for more information.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-ConfiguringviaSpring">Configuring via Spring</h4><p>The
properties are easily configured as client or endpoint properties--use the
former for the SOAP client, the latter for the web service provider.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<div id="ConfluenceContent"><h1
id="WS-SecurityPolicy-WS-SecurityPolicy">WS-SecurityPolicy</h1><p>CXF 2.2
introduced support for using <a shape="rect" class="external-link"
href="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.3/ws-securitypolicy.html"
rel="nofollow">WS-SecurityPolicy</a> to configure WSS4J instead of the custom
configuration documented on the <a shape="rect"
href="ws-security.html">WS-Security</a> page. However, all of the "background"
material on the <a shape="rect" href="ws-security.html">WS-Security</a> page
still applies and is important to know. WS-SecurityPolicy just provides an
easier and more standards based way to configure and control the security
requirements. With the security requirements documented in the WSDL as <a
shape="rect" href="ws-policy.html">WS-Policy</a> fragments, other tools such as
.NET can easily know how to configure themselves to inter-operate with CXF
services.</p><h3 id="WS-SecurityPolicy-EnablingWS-SecurityPolicy">Enabling WS-
SecurityPolicy</h3><p>In CXF 2.2, if the cxf-rt-ws-policy and
cxf-rt-ws-security modules are available on the classpath, the
WS-SecurityPolicy stuff is automatically enabled. Since the entire security
runtime is policy driven, the only requirement is that the policy engine and
security policies be available.</p><p>If you are using the full "bundle" jar,
all the security and policy stuff is already included.</p><h3
id="WS-SecurityPolicy-Policydescription">Policy description</h3><p>With
WS-SecurityPolicy, the binding and/or operation in the wsdl references a <a
shape="rect" href="ws-policy.html">WS-Policy</a> fragment that describes the
basic security requirements for interacting with that service. The <a
shape="rect" class="external-link"
href="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/v1.3/ws-securitypolicy.html"
rel="nofollow">WS-SecurityPolicy specification</a> allows for specifying
things like asymmetric/symmetric keys, using transports (https) for encryption,
which part
s/headers to encrypt or sign, whether to sign then encrypt or encrypt then
sign, whether to include timestamps, whether to use derived keys, etc...
Basically, it describes what actions are necessary to securely interact with
the service described in the WSDL.</p><p>However, the WS-SecurityPolicy
fragment does not include "everything" that is required for a runtime to be
able to able to create the messages. It does not describe things such as
locations of key stores, user names and passwords, etc... Those need to be
configured in at runtime to augment the WS-SecurityPolicy fragment.</p><h3
id="WS-SecurityPolicy-Configuringtheextraproperties">Configuring the extra
properties</h3><p>There are several extra properties that may need to be set to
provide the additional bits of information to the runtime. Note that you should
check that a particular property is supported in the version of CXF you are
using.</p><h4 id="WS-SecurityPolicy-Userproperties">User properties</h4><div
class="table-
wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name. It is used differently by
each of the WS-Security functions, see <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#USERNAME">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.password</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's password when
"ws-security.callback-handler" is not defined. It is currently only used for
the case of adding a password to a UsernameToken.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name for signature. It is used
as the alias name in the keystore to get the user's cert and private key for sig
nature. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SIGNATURE_USERNAME">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.encryption.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The user's name for encryption. It is used
as the alias name in the keystore to get the user's public key for encryption.
See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENCRYPT_USERNAME">here</a>
for more information.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-CallbackClassandCryptoproperties">Callback Class and
Crypto properties</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.callback-handler</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The CallbackHandler <a shape="rect" h
ref="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#CALLBACK_HANDLER">implementation</a>
class used to obtain passwords.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml-callback-handler</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The SAML CallbackHandler <a
shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SAML_CALLBACK_HANDLER">implementation</a>
class used to construct SAML Assertions.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.signature.properties</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The Crypto property <a
shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#SIGNATURE_PROPERTIES">configuration</a>
to use for signature, if "ws-security.signature.crypto" is not set
instead.</p></td></tr><tr><td colspan="1" rowspan="1" clas
s="confluenceTd"><p>ws-security.encryption.properties</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The Crypto property <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENCRYPT_PROPERTIES">configuration</a>
to use for encryption, if "ws-security.encryption.crypto" is not set
instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.crypto</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A Crypto <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/components/crypto/Crypto.html">object</a>
to be used for signature. If this is not defined then
"ws-security.signature.properties" is used instead.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.encryption.crypto</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A Crypto <a shape="rect"
class="external-link" href="http://ws
.apache.org/wss4j/apidocs/org/apache/ws/security/components/crypto/Crypto.html">object</a>
to be used for encryption. If this is not defined then
"ws-security.encryption.properties" is used
instead.</p></td></tr></tbody></table></div><p><strong>Note:</strong> for
Symmetric bindings that specify a protection token, the ws-security-encryption
properties are used.</p><h4
id="WS-SecurityPolicy-BooleanWS-Securityconfigurationtags,e.g.thevalueshouldbe"true"or"false".">Boolean
WS-Security configuration tags, e.g. the value should be "true" or
"false".</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>constant</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>default</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>definition</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.validate.token</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>
true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to
validate the password of a received UsernameToken or not.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.enableRevocation</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Whether to enable Certificate Revocation List (CRL)
checking or not when verifying trust in a certificate.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.username-token.always.encrypted</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to always encrypt UsernameTokens
that are defined as a SupportingToken. This should not be set to false in a
production environment, as it exposes the password (or the digest of the
password) on the wire.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.
is-bsp-compliant</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Whether to ensure compliance with the Basic Security
Profile (BSP) 1.1 or not.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.self-sign-saml-assertion</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to self-sign a SAML Assertion or
not. If this is set to true, then an enveloped signature will be generated when
the SAML Assertion is constructed.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.enable.nonce.cache</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>(varies)</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to cache UsernameToken nonces. See
<a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENABLE_
NONCE_CACHE">here</a> for more information.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.enable.timestamp.cache</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>(varies)</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whether to cache Timestamp
Created Strings. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#ENABLE_TIMESTAMP_CACHE">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">ws-security.enable.saml.cache</td><td colspan="1"
rowspan="1" class="confluenceTd">(varies)</td><td colspan="1" rowspan="1"
class="confluenceTd">Whether to cache SAML2 Token Identifiers, if the token
contains a "OneTimeUse" Condition.</td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-Non-booleanWS-SecurityConfigurationparameters">Non-boolean
WS-Security Configuration parameters</h4><div class="table-wrap"><table
class="confluenceTa
ble"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.timeToLive</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The time in seconds to append
to the Creation value of an incoming Timestamp to determine whether to accept
the Timestamp as valid or not. The default value is 300 seconds (5
minutes).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.futureTimeToLive</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The time in seconds in the
future within which the Created time of an incoming Timestamp is valid. The
default value is "60". See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#TIMESTAMP_FUTURE_TTL">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml-role-attributename</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The attribute URI of the S
AML AttributeStatement where the role information is stored. The default is
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role".</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.client</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A reference to the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosClient.java?view=markup">KerberosClient</a>
class used to obtain a service ticket.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p>ws-security.spnego.client.action</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/spnego/SpnegoClientAction.html">SpnegoClientAction</a>
implementation to use for SPNEGO. This allows the user to plug in a different
implementation to obtain a service ticket.<
/p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.jaas.context</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The JAAS Context name to use
for Kerberos. This is currently only supported for SPNEGO.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.kerberos.spn</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The Kerberos Service Provider Name (spn) to
use. This is currently only supported for SPNEGO.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.nonce.cache.instance</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This holds a reference to a <a
shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache UsernameToken nonces. The default instance that is used
is the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/tru
nk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.cache.instance</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This holds a reference to a <a
shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache Timestamp Created Strings. The default instance that is
used is the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">ws-security.saml.cache.instance</td><td colspan="1"
rowspan="1" class="confluenceTd">This holds a reference to a <a shape="rect"
class="external-link" href="http://ws.apach
e.org/wss4j/apidocs/org/apache/ws/security/cache/ReplayCache.html">ReplayCache</a>
instance used to cache SAML2 Token Identifiers, when the token has a
"OneTimeUse" Condition. The default instance that is used is the <a
shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?view=markup">EHCacheReplayCache</a>.</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.cache.config.file</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Set this property to point to a
configuration file for the underlying caching implementation. The default
configuration file that is used is <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/resources/cxf-ehcache.xml?view=markup">cxf-ehcache.xml</a>
in the cxf-rt-ws-security module.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>org.apach
e.cxf.ws.security.tokenstore.TokenStore</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStore.java?view=markup">TokenStore</a>
instance to use to cache security tokens. By default this uses the <a
shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java?view=markup">EHCacheTokenStore</a>
if EhCache is available. Otherwise it uses the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/MemoryTokenStore.java?view=markup">MemoryTokenStore</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">ws-security.cache.identifier</td><td colspan="1"
rowspan="1" class="confluenceTd">The Cache Identifier t
o use with the TokenStore. CXF uses the following key to retrieve a token
store: "org.apache.cxf.ws.security.tokenstore.TokenStore-<identifier>".
This key can be used to configure service-specific cache configuration. If the
identifier does not match, then it falls back to a cache configuration with key
"org.apache.cxf.ws.security.tokenstore.TokenStore". The default
"<identifier>" is the QName of the service in question.</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.subject.cert.constraints</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>A comma separated String of
regular expressions which will be applied to the subject DN of the certificate
used for signature validation, after trust verification of the certificate
chain associated with the certificate. These constraints are not used when the
certificate is contained in the keystore (direct trust).</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>ws-security
.role.classifier</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>If one of the WSS4J Validators returns a JAAS Subject
from Validation, then the WSS4JInInterceptor will attempt to create a
SecurityContext based on this Subject. If this value is not specified, then it
tries to get roles using the DefaultSecurityContext in cxf-rt-core. Otherwise
it uses this value in combination with the SUBJECT_ROLE_CLASSIFIER_TYPE to get
the roles from the Subject.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.role.classifier.type</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>If one of the WSS4J Validators
returns a JAAS Subject from Validation, then the WSS4JInInterceptor will
attempt to create a SecurityContext based on this Subject. Currently accepted
values are "prefix" or "classname". Must be used in conjunction with the
SUBJECT_ROLE_CLASSIFIER. The default value is "prefix".</p></td></tr><tr><td
colspan="1" rowspan="1" class="conflue
nceTd"><p>ws-security.asymmetric.signature.algorithm</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This configuration tag overrides the
default Asymmetric Signature algorithm (RSA-SHA1) for use in WS-SecurityPolicy,
as the WS-SecurityPolicy specification does not allow the use of other
algorithms at present.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-Validatorimplementationsforvalidatingreceivedsecuritytokens">Validator
implementations for validating received security tokens</h4><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>ws-security.ut.validator</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to
use to validate UsernameTokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/UsernameTokenValidator.html">UsernameTokenValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml1.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SAML 1.1 Tokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/SamlAssertionValidator.html">SamlAssertionValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.saml2.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SAML 2.0 Tokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/SamlAssertionValidator.html">SamlAssertionValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.timestamp.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instanc
e to use to validate Timestamps. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/TimestampValidator.html">TimestampValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.signature.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate trust in credentials used in Signature verification. The default value
is the <a shape="rect" class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/SignatureTrustValidator.html">SignatureTrustValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.bst.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate BinarySecurityTokens. The default value is the <a shape="rect"
class="external-link" href="http://ws.apache.org/wss4j/a
pidocs/org/apache/ws/security/validate/NoOpValidator.html">NoOpValidator</a>.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sct.validator</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The WSS4J Validator instance to use to
validate SecurityContextTokens. The default value is the <a shape="rect"
class="external-link"
href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/validate/NoOpValidator.html">NoOpValidator</a>.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-STSClientConfigurationtags">STS Client Configuration
tags</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.client</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A reference to the STSClient class used to
communicate with the STS.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.applies-to</p></td><td colspan="1" rowsp
an="1" class="confluenceTd"><p>The "AppliesTo" address to send to the STS. The
default is the endpoint address of the service provider.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.usecert</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>If true, writes out an X509Certificate
structure in UseKey/KeyInfo. If false (the default), writes out a KeyValue
structure instead.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.do.cancel</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Whether to cancel a token when using
SecureConversation after successful invocation. The default is
"false".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.cache.issued.token.in.endpoint</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Set this to "false" to not
cache a SecurityToken per proxy object in the IssuedTokenInterceptorProvider.
This should be done if
a token is being retrieved from an STS in an intermediary. The default value
is "true".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.disable-wsmex-call-using-epr-address</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whether to avoid STS client
trying send WS-MetadataExchange call using STS EPR WSA address when the
endpoint contract contains no WS-MetadataExchange info. The default value is
"false".</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.crypto</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A Crypto object to be used for the STS. See
<a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_CRYPTO">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.properties</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The Crypto propert
y configuration to use for the STS. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_PROPERTIES">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.username</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The alias name in the keystore to get the
user's public key to send to the STS for the PublicKey KeyType
case.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.act-as</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>The token to be sent to the STS in an
"ActAs" field. See <a shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_ACT_AS">here</a>
for more information.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>ws-security.sts.token.on-behalf-of</p></td><td
colspan="1" rowspan="1" class="conf
luenceTd"><p>The token to be sent to the STS in an "OnBehalfOf" field. See <a
shape="rect"
href="http://cxf.apache.org/javadoc/latest/org/apache/cxf/ws/security/SecurityConstants.html#STS_TOKEN_ON_BEHALF_OF">here</a>
for more information.</p></td></tr></tbody></table></div><h4
id="WS-SecurityPolicy-ConfiguringviaSpring">Configuring via Spring</h4><p>The
properties are easily configured as client or endpoint properties--use the
former for the SOAP client, the latter for the web service provider.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"