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 Sep 19 
14:57:40 2017
@@ -32,8 +32,8 @@
 <link type="text/css" rel="stylesheet" 
href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
-<script src='/resources/highlighter/scripts/shBrushXml.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script src='/resources/highlighter/scripts/shBrushXml.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -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-Backwardscompatibilityconfigurationnote">Backwards 
compatibility configuration note</h3><p>From Apache CXF 3.1.0, some of the 
WS-Security based configuration tags have been changed to just start with 
"security-". This is so that they can be shared with the <a shape="rect" 
href="jax-rs-xml-security.html">JAX-RS XML Security</a> component. Apart from 
the prefix change, the tags are exactly the same. Older "ws-security-" values 
continue to be accepted in CXF 3.1.0. See the <a shape="rect" 
href="security-configuration.html">Security Configuration</a> page for 
information on the new shared configuration tags.</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 t
 hat 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 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 th
 e 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. First, see the <a shape="rect" 
href="security-configuration.html">Security Configuration</a> page for 
information on the configuration tags that are shared with the JAX-RS XML 
Security component. Here are configuration tags that only apply to the 
WS-SecurityPolicy layer, and hence all start with "ws-security" (as opposed to 
the commo
 n tags which now start with "security-").</p><p>&#160;</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.username-token.always.encrypted</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>tr
 ue</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. Only applies up to CXF 2.7.x.</
 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" rowsp
 an="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><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.enable.streaming</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether to enable streaming WS-Security.</td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">ws-security.return.security.error</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Whether to return the security error message to the 
client, and not one of the default error QNames.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">ws-security.must-understand</td><td colspan="1" 
rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Set this to "false" in order to remove the SOAP mustU
 nderstand header from security headers generated based on a 
WS-SecurityPolicy.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.store.bytes.in.attachment</td><td colspan="1" 
rowspan="1" class="confluenceTd">(varies)</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>CXF 3.1.3/3.0.6</strong> Whether to store bytes 
(CipherData or BinarySecurityToken) in an attachment if MTOM is enabled. True 
by default in CXF 3.1.x, false for CXF 3.0.x.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">ws-security.use.str.transform</td><td 
colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>CXF 3.1.5/3.0.8 </strong>Whether to 
use the STR (Security Token Reference) Transform when (externally) signing a 
SAML Token. The default is true.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.add.inclusive.prefixes</td><td colspan="1" 
rowspan="1" class="confluenceTd">true<
 /td><td colspan="1" rowspan="1" class="confluenceTd"><strong>CXF 
3.1.7</strong> Whether to add an InclusiveNamespaces PrefixList as a 
CanonicalizationMethod child when generating&#160;Signatures using 
WSConstants.C14N_EXCL_OMIT_COMMENTS.</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 with
 in 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.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.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/R
 eplayCache.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" rowspa
 n="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.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/tr
 
unk/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=m
 arkup">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 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.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 t
 he use of other algorithms at present.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd">ws-security.symmetric.signature.algorithm</td><td 
colspan="1" rowspan="1" class="confluenceTd">This configuration tag overrides 
the default Symmetric Signature algorithm (HMAC-SHA1) for use in 
WS-SecurityPolicy, as the WS-SecurityPolicy specification does not allow the 
use of other algorithms at present.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.password.encryptor.instance</td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A PasswordEncryptor instance, 
which is used to encrypt or decrypt passwords in the Merlin Crypto 
implementation</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.delegated.credential</td><td colspan="1" 
rowspan="1" class="confluenceTd">A delegated credential to use for WS-Security. 
Currently only a Kerberos GSSCredential Object is supported. This is used to 
retrieve a service ticket instead of usi
 ng the client credentials.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.security.token.lifetime</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>CXF 3.1.9</strong> The security 
token lifetime value (in milliseconds). The default is "300000" (5 
minutes).</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" cl
 ass="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 Times
 tamps. 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/apidocs/org/apache/ws/secur
 ity/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-KerberosConfigurationtags">Kerberos Configuration 
tags</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">ws-security.kerberos.request.credential.delegation</td><td 
colspan="1" rowspan="1" class="co
 nfluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">Whether 
to request credential delegation or not in the KerberosClient.</td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">ws-security.kerberos.use.credential.delegation</td><td 
colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether to use credential delegation or not in 
the KerberosClient.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.kerberos.is.username.in.servicename.form</td><td
 colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether the Kerberos username is in 
servicename form or not.</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>n/a</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.kerberos.jaas.context</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</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>n/a</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The Kerberos Service Provider Name (spn) to 
use.</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-Backwardscompatibilityconfigurationnote">Backwards 
compatibility configuration note</h3><p>From Apache CXF 3.1.0, some of the 
WS-Security based configuration tags have been changed to just start with 
"security-". This is so that they can be shared with the <a shape="rect" 
href="jax-rs-xml-security.html">JAX-RS XML Security</a> component. Apart from 
the prefix change, the tags are exactly the same. Older "ws-security-" values 
continue to be accepted in CXF 3.1.0. See the <a shape="rect" 
href="security-configuration.html">Security Configuration</a> page for 
information on the new shared configuration tags.</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 t
 hat 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 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 th
 e 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. First, see the <a shape="rect" 
href="security-configuration.html">Security Configuration</a> page for 
information on the configuration tags that are shared with the JAX-RS XML 
Security component. Here are configuration tags that only apply to the 
WS-SecurityPolicy layer, and hence all start with "ws-security" (as opposed to 
the commo
 n tags which now start with "security-").</p><p>&#160;</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.username-token.always.encrypted</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>tr
 ue</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. Only applies up to CXF 2.7.x.</
 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" rowsp
 an="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><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.enable.streaming</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd">Whether to enable streaming WS-Security.</td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">ws-security.return.security.error</td><td colspan="1" 
rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Whether to return the security error message to the 
client, and not one of the default error QNames.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">ws-security.must-understand</td><td colspan="1" 
rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Set this to "false" in order to remove the SOAP mustU
 nderstand header from security headers generated based on a 
WS-SecurityPolicy.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.store.bytes.in.attachment</td><td colspan="1" 
rowspan="1" class="confluenceTd">(varies)</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>CXF 3.1.3/3.0.6</strong> Whether to store bytes 
(CipherData or BinarySecurityToken) in an attachment if MTOM is enabled. True 
by default in CXF 3.1.x, false for CXF 3.0.x.</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">ws-security.use.str.transform</td><td 
colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>CXF 3.1.5/3.0.8 </strong>Whether to 
use the STR (Security Token Reference) Transform when (externally) signing a 
SAML Token. The default is true.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.add.inclusive.prefixes</td><td colspan="1" 
rowspan="1" class="confluenceTd">true<
 /td><td colspan="1" rowspan="1" class="confluenceTd"><strong>CXF 
3.1.7</strong> Whether to add an InclusiveNamespaces PrefixList as a 
CanonicalizationMethod child when generating&#160;Signatures using 
WSConstants.C14N_EXCL_OMIT_COMMENTS.</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 with
 in 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.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/wss4j/common/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.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/wss4j/common/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://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/cache/EHCacheReplayCache.html";>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/wss4j/common/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://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/cache/EHCacheReplayCache.html";>EHCacheReplayCache</a>.</p></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd">ws-security.saml.cache.instance</td><td colspan="1" 
rowspan="1" cl
 ass="confluenceTd">This holds a reference to a <a shape="rect" 
class="external-link" 
href="http://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/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://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/cache/EHCacheReplayCache.html";>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><t
 d 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="https://github.com/apache/cxf/blob/master/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/TokenStore.java";
 rel="nofollow">TokenStore</a> instance to use to cache security tokens. By 
default this uses the <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java";
 rel="nofollow">EHCacheTokenStore</a> if EhCache is available. Otherwise it 
uses the <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/MemoryTokenStore.java";
 rel="nofollow">MemoryTokenStore</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">ws-security.cache.identifie
 r</td><td colspan="1" rowspan="1" class="confluenceTd">The Cache 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.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 SUBJEC
 T_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><tr><td colspan="1" 
rowspan="1" class="confluenceTd">ws-security.symme
 tric.signature.algorithm</td><td colspan="1" rowspan="1" 
class="confluenceTd">This configuration tag overrides the default Symmetric 
Signature algorithm (HMAC-SHA1) for use in WS-SecurityPolicy, as the 
WS-SecurityPolicy specification does not allow the use of other algorithms at 
present.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.password.encryptor.instance</td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A PasswordEncryptor instance, 
which is used to encrypt or decrypt passwords in the Merlin Crypto 
implementation</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.delegated.credential</td><td colspan="1" 
rowspan="1" class="confluenceTd">A delegated credential to use for WS-Security. 
Currently only a Kerberos GSSCredential Object is supported. This is used to 
retrieve a service ticket instead of using the client 
credentials.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.security.token.lifeti
 me</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>CXF 
3.1.9</strong> The security token lifetime value (in milliseconds). The default 
is "300000" (5 minutes).</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 Va
 lidator 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/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/apidocs/org/apache/ws/security/validate/NoOpValidator.html";>NoOpValidator</a>.</p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>w
 s-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-KerberosConfigurationtags">Kerberos Configuration 
tags</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">ws-security.kerberos.request.credential.delegation</td><td 
colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether to request credential delegation or 
not in 
 the KerberosClient.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.kerberos.use.credential.delegation</td><td 
colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether to use credential delegation or not in 
the KerberosClient.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">ws-security.kerberos.is.username.in.servicename.form</td><td
 colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" 
rowspan="1" class="confluenceTd">Whether the Kerberos username is in 
servicename form or not.</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>n/a</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.ja
 va?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.kerberos.jaas.context</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>n/a</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>n/a</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The Kerberos Service Provider Name (spn) to 
use.</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">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;beans 
xmlns="http://www.springframework.org/schema/beans";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:jaxws="http://cxf.apache.org/jaxws";

Modified: websites/production/cxf/content/fediz-downloads.html
==============================================================================
--- websites/production/cxf/content/fediz-downloads.html (original)
+++ websites/production/cxf/content/fediz-downloads.html Tue Sep 19 14:57:40 
2017
@@ -32,8 +32,8 @@
 <link type="text/css" rel="stylesheet" 
href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
-<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -109,7 +109,7 @@ Apache CXF -- Fediz Downloads
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><h1 id="FedizDownloads-Releases">Releases</h1><h2 
id="FedizDownloads-1.4.1">1.4.1</h2><p>The 1.4.1 release is our latest release. 
For more information please see the <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/projects/FEDIZ/versions/12340452";>release 
notes</a>.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip";>
 fediz-1.4.1-source-release.zip</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.md5";>fediz-1.4.1-source-release.zip.md5</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.sha1";>fediz-1.4.1-source-release.zip.sha1</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.1/fediz-1.4.1-source-release.zip.asc";>fediz-1.4.1-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2
 id="FedizDownloads-1.3.2">1.3.2</h2><p>The 1.3.2 release is our latest release 
of the 1.3.x branch. For more information please see the <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/FEDIZ/fixforversion/12338091";>rele
 ase notes</a>.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip";>fediz-1.3.2-source-release.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.md5";>fediz-1.3.2-source-release.zip.md5</a></p></td><td
 colspan="1" rowspan="1" class="conflu
 enceTd"><p><a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.sha1";>fediz-1.3.2-source-release.zip.sha1</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.asc";>fediz-1.3.2-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2
 id="FedizDownloads-VerifyingReleases">Verifying Releases</h2><p>When 
downloading from a mirror please check the SHA1/MD5 checksums as well as 
verifying the OpenPGP compatible signature available from the main Apache site. 
The <a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/KEYS";>KEYS</a> file contains the public 
keys used for signing the release. It is recommended that a web of trust is 
used to confirm the identity of these keys.</p><p>You can check the OpenPGP 
signature with GnuPG via:</p><p>&#160;</p><div class="code panel 
 pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><h1 id="FedizDownloads-Releases">Releases</h1><h2 
id="FedizDownloads-1.4.2">1.4.2</h2><p>The 1.4.2 release is our latest release. 
For more information please see the <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/projects/FEDIZ/versions/12341303";>release 
notes</a>.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.4.2/fediz-1.4.2-source-release.zip";>
 fediz-1.4.2-source-release.zip</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.2/fediz-1.4.2-source-release.zip.md5";>fediz-1.4.2-source-release.zip.md5</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.2/fediz-1.4.2-source-release.zip.sha1";>fediz-1.4.2-source-release.zip.sha1</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.4.2/fediz-1.4.2-source-release.zip.asc";>fediz-1.4.2-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2
 id="FedizDownloads-1.3.2">1.3.2</h2><p>The 1.3.2 release is our latest release 
of the 1.3.x branch. For more information please see the <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/FEDIZ/fixforversion/12338091";>rele
 ase notes</a>.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.lua?path=/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip";>fediz-1.3.2-source-release.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.md5";>fediz-1.3.2-source-release.zip.md5</a></p></td><td
 colspan="1" rowspan="1" class="conflu
 enceTd"><p><a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.sha1";>fediz-1.3.2-source-release.zip.sha1</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="https://www.apache.org/dist/cxf/fediz/1.3.2/fediz-1.3.2-source-release.zip.asc";>fediz-1.3.2-source-release.zip.asc</a></p></td></tr></tbody></table></div><h2
 id="FedizDownloads-VerifyingReleases">Verifying Releases</h2><p>When 
downloading from a mirror please check the SHA1/MD5 checksums as well as 
verifying the OpenPGP compatible signature available from the main Apache site. 
The <a shape="rect" class="external-link" 
href="https://www.apache.org/dist/cxf/KEYS";>KEYS</a> file contains the public 
keys used for signing the release. It is recommended that a web of trust is 
used to confirm the identity of these keys.</p><p>You can check the OpenPGP 
signature with GnuPG via:</p><p>&#160;</p><div class="code panel 
 pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">gpg --import KEYS
 gpg --verify apache-fediz-*.zip.asc
 </pre>

Modified: websites/production/cxf/content/fediz.html
==============================================================================
--- websites/production/cxf/content/fediz.html (original)
+++ websites/production/cxf/content/fediz.html Tue Sep 19 14:57:40 2017
@@ -32,8 +32,8 @@
 <link type="text/css" rel="stylesheet" 
href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
-<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -109,7 +109,7 @@ Apache CXF -- Fediz
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><h1 
id="Fediz-ApacheCXFFediz:AnOpen-SourceWebSecurityFramework">Apache CXF Fediz: 
An Open-Source Web Security Framework</h1><h2 
id="Fediz-Overview">Overview</h2><p>Apache CXF Fediz is a subproject of CXF. 
Fediz helps you to secure your web applications and delegates security 
enforcement to the underlying application server. With Fediz, authentication is 
externalized from your web application to an identity provider installed as a 
dedicated server component. The supported standard is <a shape="rect" 
class="external-link" 
href="http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html#_Toc223175002";
 rel="nofollow">WS-Federation Passive Requestor Profile</a>. Fediz supports <a 
shape="rect" class="external-link" 
href="http://en.wikipedia.org/wiki/Claims-based_identity"; rel="nofollow">Claims 
Based Access Control</a> beyond Role Based Access Control (RBAC).</p><h2 
id="Fediz-News">News</h2><p><strong><strong>August 18, 2017 - <strong><st
 rong>Apache CXF Fediz 1.4.</strong></strong>1 
released</strong></strong></p><p>Apache CXF Fediz 1.4.1 has been 
released.</p><p>For more information and to download the new release, please go 
<a shape="rect" href="fediz-downloads.html">here</a>.</p><p><strong><strong>May 
16, 2017 - Two new security advisories for Apache CXF Fediz are 
released</strong></strong></p><p>Two new security advisories have been released 
for issues that are fixed in the latest releases (1.4.0, 1.3.2 and 
1.2.4):</p><ul><li><a shape="rect" 
href="http://cxf.apache.org/security-advisories.data/CVE-2017-7661.txt.asc?version=1&amp;modificationDate=1494949364764&amp;api=v2";>CVE-2017-7661</a>:
 The Apache CXF Fediz Jetty and Spring plugins are vulnerable to CSRF 
attacks.</li><li><a shape="rect" 
href="http://cxf.apache.org/security-advisories.data/CVE-2017-7662.txt.asc?version=1&amp;modificationDate=1494949377300&amp;api=v2";>CVE-2017-7662</a>:
 The Apache CXF Fediz OIDC Client Registration Service is vulnerable to CSRF 
 attacks.</li></ul><p>Please upgrade to the latest releases as soon as 
possible.</p><p><strong><strong>April 28, 2017 - Apache CXF Fediz 1.4.0, 1.3.2 
and 1.2.4 released<br clear="none"></strong></strong></p><p>Apache CXF Fediz 
1.4.0, 1.3.2 and 1.2.4 have been released.</p><p>For more information and to 
download the new releases, please go <a shape="rect" 
href="fediz-downloads.html">here</a>.</p><h2 
id="Fediz-Features">Features</h2><p>The following features are supported by 
Fediz 1.2</p><ul><li>WS-Federation 1.0/1.1/1.2</li><li>SAML 1.1/2.0 
Tokens</li><li>Support for encrypted SAML Tokens (Release 1.1)</li><li>Support 
for Holder-Of-Key SubjectConfirmationMethod (1.1)</li><li>Custom token 
Support</li><li>Publish WS-Federation Metadata document</li><li>Role 
information encoded as AttributeStatement in SAML 1.1/2.0 tokens</li><li>Claims 
information provided by FederationPrincipal Interface</li><li>Support for 
Tomcat, Jetty, Websphere, Spring Security and CXF (1.1)</li><li>Fediz IDP suppo
 rts "Resource IDP" role as well (1.1)</li><li>A new REST API for the IdP 
(1.2)</li><li>Support for logout in both the RP and IdP (1.2)</li><li>Support 
for logging on to the IdP via Kerberos and TLS client authentication 
(1.2)</li><li>A new container-independent CXF plugin for WS-Federation 
(1.2)</li><li>Support to use the IdP as an identity broker with a remote SAML 
SSO IdP (1.2)</li></ul><p>The following features are planned for the next 
release:</p><ul><li>support for other protocols like OAuth</li></ul><p>You can 
get the current status of the enhancements <a shape="rect" 
class="external-link" href="https://issues.apache.org/jira/browse/FEDIZ";>here 
</a>.</p><h2 id="Fediz-Architecture">Architecture</h2><p>The Fediz architecture 
is described in more detail <a shape="rect" 
href="fediz-architecture.html">here</a>.</p><h2 
id="Fediz-Download">Download</h2><p>See <a shape="rect" 
href="fediz-downloads.html">here</a>.</p><h2 id="Fediz-Gettingstarted">Getting 
started</h2><p>The WS-Federatio
 n specification defines the following parties involved during a web 
login:</p><ul><li>Browser</li><li>Identity Provider (IDP)<br clear="none"> The 
IDP is a centralized, application independent runtime component which 
implements the protocol defined by WS-Federation. You can use any open source 
or commercial product that supports WS-Federation 1.1/1.2 as your IDP. It's 
recommended to use the Fediz IDP for testing as it allows for testing your web 
application in a sandbox without having all infrastructure components 
available. The Fediz IDP consists of two WAR components. The Security Token 
Service (STS) does most of the work including user authentication, claims/role 
data retrieval and creating the SAML token. The IDP WAR translates the response 
to an HTML response allowing a browser to process it.</li><li>Relying Party 
(RP)<br clear="none"> The RP is a web application that needs to be protected. 
The RP must be able to implement the protocol as defined by WS-Federation. This 
componen
 t is called "Fediz Plugin" in this project which consists of container 
agnostic module/jar and a container specific jar. When an authenticated request 
is detected by the plugin it redirects to the IDP for authentication. The 
browser sends the response from the IDP to the RP after successful 
authentication. The RP validates the response and creates the container 
security context.</li></ul><p>It's recommended to deploy the IDP and the web 
application (RP) into different container instances as in a production 
deployment. The container with the IDP can be used during development and 
testing for multiple web applications needing security.</p><h3 
id="Fediz-SettinguptheIDP">Setting up the IDP</h3><p>The installation and 
configuration of the IDP is documented <a shape="rect" 
href="fediz-idp-11.html">here</a></p><h3 
id="Fediz-SetuptheRelyingPartyContainer">Set up the Relying Party 
Container</h3><p>The Fediz plugin needs to be deployed into the Relying Party 
(RP) container. The security mecha
 nism is not specified by JEE. Even though it is very similar in each servlet 
container there are some differences which require a dedicated Fediz plugin for 
each servlet container implementation. Most of the configuration goes into a 
Servlet container independent configuration file which is described <a 
shape="rect" href="fediz-configuration.html">here</a></p><p>The following lists 
shows the supported containers and the location of the installation and 
configuration page.</p><ul><li><a shape="rect" href="fediz-tomcat.html">Tomcat 
7 </a></li><li><a shape="rect" href="fediz-jetty.html">Jetty 7/8 
(1.1)</a></li><li><a shape="rect" href="fediz-spring.html">Spring Security 3.1 
(1.1)</a></li><li><a shape="rect" href="fediz-websphere.html">Websphere 7/8 
(1.1)</a></li><li><a shape="rect" href="fediz-cxf.html">CXF (1.1) 
</a></li></ul><h2 id="Fediz-Samples">Samples</h2><p>The examples directory 
contains two sample relying party applications. They are independent of each 
other, so it is not nec
 essary to deploy both at once.</p><p>Each sample is described in a 
<code>README.txt</code> file located in the base directory of each 
sample.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Sample</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>simpleWebapp</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a simple web application which 
is protected by the Fediz IDP. The FederationServlet illustrates how to get 
security information using the standard APIs.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>wsclientWebapp</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a protected web application 
that calls a web service that uses the Fediz STS to validate credentials. Here, 
the same STS is used for token issuance (indirectly, by the web applicatio
 n through use of the Fediz IDP) and validation. The FederationServlet 
illustrates how to securely call a web 
service.</p></td></tr></tbody></table></div><p><span 
class="confluence-anchor-link" id="Fediz-building"></span></p><h2 
id="Fediz-Checkout">Checkout</h2><p>The CXF sources are hosted at&#160;<a 
shape="rect" class="external-link" href="https://gitbox.apache.org/";>Apache 
gitbox</a>. This includes a full two way sync with github. As github provides 
the nicer user interface we now recommend to directly work on the github cxf 
repo.</p><h2 id="Fediz-Webbrowsing">Web browsing</h2><p><a shape="rect" 
class="external-link" href="https://github.com/apache/cxf-fediz"; 
rel="nofollow">https://github.com/apache/cxf-fediz</a></p><h2 
id="Fediz-CheckingoutfromGIT">Checking out from GIT</h2><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><h1 
id="Fediz-ApacheCXFFediz:AnOpen-SourceWebSecurityFramework">Apache CXF Fediz: 
An Open-Source Web Security Framework</h1><h2 
id="Fediz-Overview">Overview</h2><p>Apache CXF Fediz is a subproject of CXF. 
Fediz helps you to secure your web applications and delegates security 
enforcement to the underlying application server. With Fediz, authentication is 
externalized from your web application to an identity provider installed as a 
dedicated server component. The supported standard is <a shape="rect" 
class="external-link" 
href="http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html#_Toc223175002";
 rel="nofollow">WS-Federation Passive Requestor Profile</a>. Fediz supports <a 
shape="rect" class="external-link" 
href="http://en.wikipedia.org/wiki/Claims-based_identity"; rel="nofollow">Claims 
Based Access Control</a> beyond Role Based Access Control (RBAC).</p><h2 
id="Fediz-News">News</h2><p><strong><strong>September 15, 2017 - <strong>
 <strong>Apache CXF Fediz 1.4.</strong></strong>2 
released</strong></strong></p><p>Apache CXF Fediz 1.4.2 has been 
released.</p><p>For more information and to download the new release, please go 
<a shape="rect" 
href="fediz-downloads.html">here</a>.</p><p><strong><strong>August 18, 2017 - 
<strong><strong>Apache CXF Fediz 1.4.</strong></strong>1 
released</strong></strong></p><p>Apache CXF Fediz 1.4.1 has been 
released.</p><p>For more information and to download the new release, please go 
<a shape="rect" href="fediz-downloads.html">here</a>.</p><p><strong><strong>May 
16, 2017 - Two new security advisories for Apache CXF Fediz are 
released</strong></strong></p><p>Two new security advisories have been released 
for issues that are fixed in the latest releases (1.4.0, 1.3.2 and 
1.2.4):</p><ul><li><a shape="rect" 
href="http://cxf.apache.org/security-advisories.data/CVE-2017-7661.txt.asc?version=1&amp;modificationDate=1494949364764&amp;api=v2";>CVE-2017-7661</a>:
 The Apache CXF Fediz Jetty and
  Spring plugins are vulnerable to CSRF attacks.</li><li><a shape="rect" 
href="http://cxf.apache.org/security-advisories.data/CVE-2017-7662.txt.asc?version=1&amp;modificationDate=1494949377300&amp;api=v2";>CVE-2017-7662</a>:
 The Apache CXF Fediz OIDC Client Registration Service is vulnerable to CSRF 
attacks.</li></ul><p>Please upgrade to the latest releases as soon as 
possible.</p><p><strong><strong>April 28, 2017 - Apache CXF Fediz 1.4.0, 1.3.2 
and 1.2.4 released<br clear="none"></strong></strong></p><p>Apache CXF Fediz 
1.4.0, 1.3.2 and 1.2.4 have been released.</p><p>For more information and to 
download the new releases, please go <a shape="rect" 
href="fediz-downloads.html">here</a>.</p><h2 
id="Fediz-Features">Features</h2><p>The following features are supported by 
Fediz 1.2</p><ul><li>WS-Federation 1.0/1.1/1.2</li><li>SAML 1.1/2.0 
Tokens</li><li>Support for encrypted SAML Tokens (Release 1.1)</li><li>Support 
for Holder-Of-Key SubjectConfirmationMethod (1.1)</li><li>Custom token Sup
 port</li><li>Publish WS-Federation Metadata document</li><li>Role information 
encoded as AttributeStatement in SAML 1.1/2.0 tokens</li><li>Claims information 
provided by FederationPrincipal Interface</li><li>Support for Tomcat, Jetty, 
Websphere, Spring Security and CXF (1.1)</li><li>Fediz IDP supports "Resource 
IDP" role as well (1.1)</li><li>A new REST API for the IdP 
(1.2)</li><li>Support for logout in both the RP and IdP (1.2)</li><li>Support 
for logging on to the IdP via Kerberos and TLS client authentication 
(1.2)</li><li>A new container-independent CXF plugin for WS-Federation 
(1.2)</li><li>Support to use the IdP as an identity broker with a remote SAML 
SSO IdP (1.2)</li></ul><p>The following features are planned for the next 
release:</p><ul><li>support for other protocols like OAuth</li></ul><p>You can 
get the current status of the enhancements <a shape="rect" 
class="external-link" href="https://issues.apache.org/jira/browse/FEDIZ";>here 
</a>.</p><h2 id="Fediz-Architecture">Ar
 chitecture</h2><p>The Fediz architecture is described in more detail <a 
shape="rect" href="fediz-architecture.html">here</a>.</p><h2 
id="Fediz-Download">Download</h2><p>See <a shape="rect" 
href="fediz-downloads.html">here</a>.</p><h2 id="Fediz-Gettingstarted">Getting 
started</h2><p>The WS-Federation specification defines the following parties 
involved during a web login:</p><ul><li>Browser</li><li>Identity Provider 
(IDP)<br clear="none"> The IDP is a centralized, application independent 
runtime component which implements the protocol defined by WS-Federation. You 
can use any open source or commercial product that supports WS-Federation 
1.1/1.2 as your IDP. It's recommended to use the Fediz IDP for testing as it 
allows for testing your web application in a sandbox without having all 
infrastructure components available. The Fediz IDP consists of two WAR 
components. The Security Token Service (STS) does most of the work including 
user authentication, claims/role data retrieval and crea
 ting the SAML token. The IDP WAR translates the response to an HTML response 
allowing a browser to process it.</li><li>Relying Party (RP)<br clear="none"> 
The RP is a web application that needs to be protected. The RP must be able to 
implement the protocol as defined by WS-Federation. This component is called 
"Fediz Plugin" in this project which consists of container agnostic module/jar 
and a container specific jar. When an authenticated request is detected by the 
plugin it redirects to the IDP for authentication. The browser sends the 
response from the IDP to the RP after successful authentication. The RP 
validates the response and creates the container security 
context.</li></ul><p>It's recommended to deploy the IDP and the web application 
(RP) into different container instances as in a production deployment. The 
container with the IDP can be used during development and testing for multiple 
web applications needing security.</p><h3 id="Fediz-SettinguptheIDP">Setting up 
the IDP</h3
 ><p>The installation and configuration of the IDP is documented <a 
 >shape="rect" href="fediz-idp-11.html">here</a></p><h3 
 >id="Fediz-SetuptheRelyingPartyContainer">Set up the Relying Party 
 >Container</h3><p>The Fediz plugin needs to be deployed into the Relying Party 
 >(RP) container. The security mechanism is not specified by JEE. Even though 
 >it is very similar in each servlet container there are some differences which 
 >require a dedicated Fediz plugin for each servlet container implementation. 
 >Most of the configuration goes into a Servlet container independent 
 >configuration file which is described <a shape="rect" 
 >href="fediz-configuration.html">here</a></p><p>The following lists shows the 
 >supported containers and the location of the installation and configuration 
 >page.</p><ul><li><a shape="rect" href="fediz-tomcat.html">Tomcat 7 
 ></a></li><li><a shape="rect" href="fediz-jetty.html">Jetty 7/8 
 >(1.1)</a></li><li><a shape="rect" href="fediz-spring.html">Spring Security 
 >3.1 (1.1)</a></li><li>
 <a shape="rect" href="fediz-websphere.html">Websphere 7/8 (1.1)</a></li><li><a 
shape="rect" href="fediz-cxf.html">CXF (1.1) </a></li></ul><h2 
id="Fediz-Samples">Samples</h2><p>The examples directory contains two sample 
relying party applications. They are independent of each other, so it is not 
necessary to deploy both at once.</p><p>Each sample is described in a 
<code>README.txt</code> file located in the base directory of each 
sample.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Sample</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>simpleWebapp</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a simple web application which 
is protected by the Fediz IDP. The FederationServlet illustrates how to get 
security information using the standard APIs.</p></td></tr><tr><td colspan="1" 
rowspan="1"
  class="confluenceTd"><p><strong>wsclientWebapp</strong></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>a protected web application 
that calls a web service that uses the Fediz STS to validate credentials. Here, 
the same STS is used for token issuance (indirectly, by the web application 
through use of the Fediz IDP) and validation. The FederationServlet illustrates 
how to securely call a web service.</p></td></tr></tbody></table></div><p><span 
class="confluence-anchor-link" id="Fediz-building"></span></p><h2 
id="Fediz-Checkout">Checkout</h2><p>The CXF sources are hosted at&#160;<a 
shape="rect" class="external-link" href="https://gitbox.apache.org/";>Apache 
gitbox</a>. This includes a full two way sync with github. As github provides 
the nicer user interface we now recommend to directly work on the github cxf 
repo.</p><h2 id="Fediz-Webbrowsing">Web browsing</h2><p><a shape="rect" 
class="external-link" href="https://github.com/apache/cxf-fediz"; 
rel="nofollow">https://githu
 b.com/apache/cxf-fediz</a></p><h2 id="Fediz-CheckingoutfromGIT">Checking out 
from GIT</h2><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">git clone g...@github.com:apache/cxf-fediz.git</pre>
 </div></div><h2 id="Fediz-Committing">Committing</h2><p>CXF committers can 
directly commit to github after doing the&#160;<a shape="rect" 
class="external-link" 
href="https://gitbox.apache.org/setup/";>Apache&#160;gitbox setup</a>. Be aware 
that the sync might take half an hour before you are added to the cxf github 
group.</p><h2 id="Fediz-Forkingandpullrequests">Forking and pull 
requests</h2><p>See&#160;<a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=69407398";>Getting
 Involved</a></p><h2 id="Fediz-Building">Building</h2><p>Then follow the <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/cxf/fediz/trunk/BUILDING.txt?view=markup";>BUILDING.txt</a>
 file in the Fediz download for full build instructions.</p><h2 
id="Fediz-SettingupEclipse">Setting up Eclipse</h2><p>See <a shape="rect" 
href="http://cxf.apache.org/setting-up-eclipse.html";>this page</a> for 
information on using the Eclipse IDE with the Fediz source code. This page
  is created for CXF but the same commands are applicable for Fediz 
too.</p><p>&#160;</p></div>
            </div>


Reply via email to