Author: buildbot
Date: Tue May 27 11:46:49 2014
New Revision: 910105

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 Tue May 27 
11:46:49 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><p>CXF supports WS-SecurityPolicy versions 1.1 and later. It does
  not support WS-SecurityPolicy 1.0.</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 f
 or specifying things like asymmetric/symmetric keys, using transports (https) 
for encryption, which parts/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 o
 f 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 fo
 r signature. It is used as the alias name in the keystore to get the user's 
cert and private key for signature. 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-h
 andler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
CallbackHandler <a shape="rect" 
href="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" 
class="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 colspa
 n="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&quot;true&quot;or&quot;false&quot;.">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="re
 ct" 
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="confluenceTable"><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-r
 ole-attributename</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The attribute URI of the SAML 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.</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.</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/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"><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="h
 
ttp://ws.apache.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.apache.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 Cach
 e Identifier to use with the TokenStore. CXF uses the following key to 
retrieve a token store: 
"org.apache.cxf.ws.security.tokenstore.TokenStore-&lt;identifier&gt;". 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 
"&lt;identifier&gt;" 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="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" 
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 Val
 idator 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/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.apac
 
he.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 col
 span="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 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 sho
 uld 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 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><p>CXF supports WS-SecurityPolicy versions 1.1 and later. It does
  not support WS-SecurityPolicy 1.0.</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 f
 or specifying things like asymmetric/symmetric keys, using transports (https) 
for encryption, which parts/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 o
 f 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 fo
 r signature. It is used as the alias name in the keystore to get the user's 
cert and private key for signature. 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-h
 andler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
CallbackHandler <a shape="rect" 
href="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" 
class="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 colspa
 n="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&quot;true&quot;or&quot;false&quot;.">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="re
 ct" 
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="confluenceTable"><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-r
 ole-attributename</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The attribute URI of the SAML 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.</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.</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/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"><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="h
 
ttp://ws.apache.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.apache.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 Cach
 e Identifier to use with the TokenStore. CXF uses the following key to 
retrieve a token store: 
"org.apache.cxf.ws.security.tokenstore.TokenStore-&lt;identifier&gt;". 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 
"&lt;identifier&gt;" 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="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" 
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 Val
 idator 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/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.apac
 
he.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 col
 span="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 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 sho
 uld 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 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><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.issue.after.failed.renew</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether to call "Issue" if a token "Renew" 
fails. Some STSs do not support the renew binding. Defaults to 
"true".</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[&lt;beans 
xmlns=&quot;http://www.springframework.org/schema/beans&quot;
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xmlns:jaxws=&quot;http://cxf.apache.org/jaxws&quot;


Reply via email to