Author: buildbot
Date: Fri Apr 24 14:46:55 2015
New Revision: 949042

Log:
Production update by buildbot for cxf

Added:
    websites/production/cxf/content/docs/security-configuration.html
Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/31-migration-guide.html
    websites/production/cxf/content/docs/index.html
    websites/production/cxf/content/docs/jax-rs-saml.html
    websites/production/cxf/content/docs/jax-rs-xml-security.html
    websites/production/cxf/content/docs/security.html
    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/31-migration-guide.html
==============================================================================
--- websites/production/cxf/content/docs/31-migration-guide.html (original)
+++ websites/production/cxf/content/docs/31-migration-guide.html Fri Apr 24 
14:46:55 2015
@@ -116,7 +116,7 @@ Apache CXF -- 3.1 Migration Guide
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><h3 id="id-3.1MigrationGuide-MajorNotes">Major 
Notes</h3><ul><li>CXF 3.1 no longer supports Java 6. &#160; You must use Java 7 
or Java 8.</li><li>The JAX-WS/Simple frontend ServerFactoryBean will 
automatically call reset at the end of the create() call. &#160; This allows 
resources to be cleaned up and garbage collected sooner. &#160;However, it also 
prevents multiple calls to create() from sharing the same 
ServerInfo/EndpointInfo/etc... objects like they would we 3.0.x. &#160; That 
sharing has caused many problems in the past due to sharing of properties (like 
token caches) that are stored on those objects so the new behavior is more 
"correct", but it is different than previous versions so care must be taken 
while upgrading.</li><li>The Karaf features.xml file for CXF 3.1 no longer will 
install spring or spring-dm when installing the "cxf" feature. &#160;If you 
require spring/spring-dm, you will need to install those features prior to 
installing the CXF 
 feature.</li></ul><h3 id="id-3.1MigrationGuide-Securitychanges">Security 
changes</h3><ul><li>The STS (Security Token Service) now issues tokens using 
the RSA-SHA256 signature algorithm by default (previously RSA-SHA1), and the 
SHA-256 digest algorithm (previously SHA-1).</li><li>Some security 
configuration tags have been renamed from "ws-security.*" to "security.*", as 
they are now shared with (some of) the JAX-RS stack. The old tags will continue 
to work as before however without any change.</li><li>The SAML/XACML 
functionality previously available in the cxf-rt-security module is now in the 
cxf-rt-security-saml module.</li><li>If you are explicitly specifying the SAML 
version in a SAML CallbackHandler, then this is changed in CXF 3.1 due to the 
migration to use OpenSAML 3.1. The version is now set on the SAMLCallback using 
a org.apache.wss4j.common.saml.bean.Version class. Previously there was a 
dependency on OpenSAML's SAMLVersion class.</li></ul><h3 
id="id-3.1MigrationGuide-NewF
 eatures">New Features</h3><ul><li>The CXF JAX-WS code generator has a new 
option "seiSuper" that can be used to specify additional super interfaces for 
the SEI. &#160;This makes the code nonportable to other JAX-WS containers. 
&#160; The primary use would be to add AutoCloseable to the interface to allow 
use of the clients in Java7 try with resource blocks.</li><li>New Metrics 
feature for collecting metrics about a CXF services. &#160; Codahale/DropWizard 
based collector included.</li><li>New Throttling feature for easily throttling 
CXF services. &#160;Sample included that uses the Metrics component to help 
make the throttling decisions.</li><li>New Logging feature for more advanced 
logging than the logging available in cxf-core</li><li>New Metadata service for 
SAML SSO to allow you to publish SAML SSO metadata for your service 
provider.</li><li><p>The "cxf" frontend to the JAX-WS code generator (-fe cxf) 
now generates code that is a bit more "Java7" friendly as the return type of t
 he getPort(...) calls is a sub-interface of the SEI that also implements 
AutoCloseable, BindingProvider, and Client. &#160; Code that used to look 
like:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><h3 id="id-3.1MigrationGuide-MajorNotes">Major 
Notes</h3><ul><li>CXF 3.1 no longer supports Java 6. &#160; You must use Java 7 
or Java 8.</li><li>The JAX-WS/Simple frontend ServerFactoryBean will 
automatically call reset at the end of the create() call. &#160; This allows 
resources to be cleaned up and garbage collected sooner. &#160;However, it also 
prevents multiple calls to create() from sharing the same 
ServerInfo/EndpointInfo/etc... objects like they would we 3.0.x. &#160; That 
sharing has caused many problems in the past due to sharing of properties (like 
token caches) that are stored on those objects so the new behavior is more 
"correct", but it is different than previous versions so care must be taken 
while upgrading.</li><li>The Karaf features.xml file for CXF 3.1 no longer will 
install spring or spring-dm when installing the "cxf" feature. &#160;If you 
require spring/spring-dm, you will need to install those features prior to 
installing the CXF 
 feature.</li></ul><h3 id="id-3.1MigrationGuide-Securitychanges">Security 
changes</h3><ul><li>The STS (Security Token Service) now issues tokens using 
the RSA-SHA256 signature algorithm by default (previously RSA-SHA1), and the 
SHA-256 digest algorithm (previously SHA-1).</li><li>Some security 
configuration tags have been renamed from "ws-security.*" to "security.*", as 
they are now shared with (some of) the JAX-RS stack. The old tags will continue 
to work as before however without any change. See the <a shape="rect" 
href="security-configuration.html">Security Configuration </a>page for more 
information.</li><li>The SAML/XACML functionality previously available in the 
cxf-rt-security module is now in the cxf-rt-security-saml module.</li><li>If 
you are explicitly specifying the SAML version in a SAML CallbackHandler, then 
this is changed in CXF 3.1 due to the migration to use OpenSAML 3.1. The 
version is now set on the SAMLCallback using a 
org.apache.wss4j.common.saml.bean.Version cla
 ss. Previously there was a dependency on OpenSAML's SAMLVersion 
class.</li></ul><h3 id="id-3.1MigrationGuide-NewFeatures">New 
Features</h3><ul><li>The CXF JAX-WS code generator has a new option "seiSuper" 
that can be used to specify additional super interfaces for the SEI. &#160;This 
makes the code nonportable to other JAX-WS containers. &#160; The primary use 
would be to add AutoCloseable to the interface to allow use of the clients in 
Java7 try with resource blocks.</li><li>New Metrics feature for collecting 
metrics about a CXF services. &#160; Codahale/DropWizard based collector 
included.</li><li>New Throttling feature for easily throttling CXF services. 
&#160;Sample included that uses the Metrics component to help make the 
throttling decisions.</li><li>New Logging feature for more advanced logging 
than the logging available in cxf-core</li><li>New Metadata service for SAML 
SSO to allow you to publish SAML SSO metadata for your service 
provider.</li><li><p>The "cxf" frontend to t
 he JAX-WS code generator (-fe cxf) now generates code that is a bit more 
"Java7" friendly as the return type of the getPort(...) calls is a 
sub-interface of the SEI that also implements AutoCloseable, BindingProvider, 
and Client. &#160; Code that used to look like:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[(AddNumbersPortType port = 
service.getAddNumbersPort();
 ((BindingProvider)port).getRequestContext()
         .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);

Modified: websites/production/cxf/content/docs/index.html
==============================================================================
--- websites/production/cxf/content/docs/index.html (original)
+++ websites/production/cxf/content/docs/index.html Fri Apr 24 14:46:55 2015
@@ -113,7 +113,7 @@ Apache CXF -- Index
   <input maxlength="255" type="text" name="queryString" size="15" 
value="value">
   <input type="submit" name="btnG" value="Search">
 </form>
-</div><ul><li><a shape="rect" href="overview.html">Overview</a><ul 
class="childpages-macro"><li><a shape="rect" href="why-cxf.html">Why 
CXF?</a></li><li><a shape="rect" 
href="how-do-i-integrate-my-application-with-cxf.html">How do I integrate my 
application with CXF</a> &#8212; <span class="smalltext">A meta guide to 
integrating your application with CXF - including Bindings, Transports, 
Interceptors, etc</span></li><li><a shape="rect" 
href="how-do-i-develop-a-service.html">How do I develop a service?</a> &#8212; 
<span class="smalltext">A meta guide to your options with CXF</span></li><li><a 
shape="rect" href="how-do-i-develop-a-client.html">How do I develop a 
client?</a> &#8212; <span class="smalltext">A meta guide to your options with 
CXF</span></li></ul></li><li><a shape="rect" href="how-tos.html">How-Tos</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="writing-a-service-with-spring.html">Writing a service with 
Spring</a></li><li><a shape="rect" href="a-simple-jax-ws-ser
 vice.html">A simple JAX-WS service</a></li><li><a shape="rect" 
href="running-a-service-in-tomcat-on-zos.html">Running a service in Tomcat on 
zOS</a></li><li><a shape="rect" 
href="defining-contract-first-webservices-with-wsdl-generation-from-java.html">Defining
 Contract first webservices with wsdl generation from java</a></li><li><a 
shape="rect" href="migration-guides.html">Migration Guides</a></li><li><a 
shape="rect" href="sample-projects.html">Sample 
Projects</a></li></ul></li><li><a shape="rect" 
href="frontends.html">Frontends</a><ul class="childpages-macro"><li><a 
shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" 
href="dynamic-clients.html">Dynamic Clients</a></li><li><a shape="rect" 
href="jax-ws.html">JAX-WS</a><ul class="childpages-macro"><li><a shape="rect" 
href="developing-a-consumer.html">Developing a Consumer</a></li><li><a 
shape="rect" href="developing-a-service.html">Developing a 
Service</a></li><li><a shape="rect" href="jax-ws-configuration.htm
 l">JAX-WS Configuration</a></li><li><a shape="rect" 
href="jax-ws-dispatch-api.html">JAX-WS Dispatch API</a></li><li><a shape="rect" 
href="provider-services.html">Provider Services</a></li><li><a shape="rect" 
href="webservicecontext.html">WebserviceContext</a></li></ul></li><li><a 
shape="rect" href="simple.html">Simple</a><ul class="childpages-macro"><li><a 
shape="rect" href="simple-frontend.html">Simple Frontend</a></li><li><a 
shape="rect" href="simple-frontend-configuration.html">Simple Frontend 
Configuration</a></li></ul></li></ul></li><li><a shape="rect" 
href="databindings.html">DataBindings</a><ul class="childpages-macro"><li><a 
shape="rect" href="aegis-21.html">Aegis (2.1)</a> &#8212; <span 
class="smalltext">For CXF 2.1 or newer</span></li><li><a shape="rect" 
href="aegis-databinding-20x.html">Aegis Databinding (2.0.x)</a> &#8212; <span 
class="smalltext">For CXF up to 2.0.x</span></li><li><a shape="rect" 
href="jaxb.html">JAXB</a></li><li><a shape="rect" href="mtom-attachments-wi
 th-jaxb.html">MTOM Attachments with JAXB</a></li><li><a shape="rect" 
href="sdo.html">SDO</a></li><li><a shape="rect" 
href="xmlbeans.html">XMLBeans</a></li></ul></li><li><a shape="rect" 
href="transports.html">Transports</a><ul class="childpages-macro"><li><a 
shape="rect" href="http-transport.html">HTTP Transport</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="asynchronous-client-http-transport.html">Asynchronous Client HTTP 
Transport</a></li><li><a shape="rect" 
href="client-http-transport-including-ssl-support.html">Client HTTP Transport 
(including SSL support)</a></li><li><a shape="rect" 
href="jetty-configuration.html">Jetty Configuration</a></li><li><a shape="rect" 
href="server-http-transport.html">Server HTTP Transport</a></li><li><a 
shape="rect" href="servlet-transport.html">Servlet Transport</a></li><li><a 
shape="rect" href="standalone-http-transport.html">Standalone HTTP 
Transport</a></li></ul></li><li><a shape="rect" href="jms-transport.html">JMS 
Transport</a><ul cla
 ss="childpages-macro"><li><a shape="rect" 
href="cxf-2x-jms-configuration-removed-in-cxf-3.html">CXF 2.x JMS configuration 
(removed in CXF 3)</a></li><li><a shape="rect" 
href="jms-performance-and-pooling.html">JMS performance and 
pooling</a></li><li><a shape="rect" href="jms-transactions.html">JMS 
transactions</a></li><li><a shape="rect" 
href="soap-over-jms-10-support.html">SOAP over JMS 1.0 support</a></li><li><a 
shape="rect" href="using-the-jmsconfigfeature.html">Using the 
JMSConfigFeature</a></li></ul></li><li><a shape="rect" 
href="local-transport.html">Local Transport</a></li><li><a shape="rect" 
href="udp-transport.html">UDP Transport</a><ul class="childpages-macro"><li><a 
shape="rect" href="soap-over-udp.html">SOAP over UDP</a></li></ul></li><li><a 
shape="rect" href="custom-transport.html">Custom Transport</a></li><li><a 
shape="rect" href="coloc-feature.html">Coloc Feature</a></li><li><a 
shape="rect" href="apache-camel-transport.html">Apache Camel 
Transport</a></li><li><a shape=
 "rect" href="websocket.html">WebSocket</a></li></ul></li><li><a shape="rect" 
href="configuration.html">Configuration</a><ul class="childpages-macro"><li><a 
shape="rect" href="bus-configuration.html">Bus Configuration</a></li><li><a 
shape="rect" href="featureslist.html">FeaturesList</a></li><li><a shape="rect" 
href="jmx-management.html">JMX Management</a></li><li><a shape="rect" 
href="wsaconfiguration.html">WSAConfiguration</a></li><li><a shape="rect" 
href="wspconfiguration.html">WSPConfiguration</a></li><li><a shape="rect" 
href="wsrmconfiguration.html">WSRMConfiguration</a></li></ul></li><li><a 
shape="rect" href="debugging-and-logging.html">Debugging and 
Logging</a></li><li><a shape="rect" href="tools.html">Tools</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="cxf-tools-in-eclipse.html">CXF tools in Eclipse</a></li><li><a 
shape="rect" href="idl-to-wsdl.html">IDL to WSDL</a></li><li><a shape="rect" 
href="java-to-javascript.html">Java to Javascript</a></li><li><a shape="rect
 " href="java-to-ws.html">Java to WS</a></li><li><a shape="rect" 
href="java-to-wsdl.html">Java to WSDL</a></li><li><a shape="rect" 
href="maven-cxf-codegen-plugin-wsdl-to-java.html">Maven cxf-codegen-plugin 
(WSDL to Java)</a></li><li><a shape="rect" 
href="maven-java2wsdl-plugin-cxf-20x-only-removed-in-21-and-replaced-with-java2ws.html">Maven
 Java2WSDL plugin (CXF 2.0.x only.  Removed in 2.1 and replaced with 
Java2WS)</a></li><li><a shape="rect" href="maven-java2ws-plugin.html">Maven 
Java2WS plugin</a></li><li><a shape="rect" 
href="using-cxf-with-maven.html">Using CXF with maven</a></li><li><a 
shape="rect" href="wsdl-to-corba.html">WSDL to CORBA</a></li><li><a 
shape="rect" href="wsdl-to-java.html">WSDL to Java</a></li><li><a shape="rect" 
href="wsdl-to-javascript.html">WSDL to Javascript</a></li><li><a shape="rect" 
href="wsdl-to-service.html">WSDL to Service</a></li><li><a shape="rect" 
href="wsdl-to-soap.html">WSDL to SOAP</a></li><li><a shape="rect" 
href="wsdl-to-xml.html">WSDL to XML<
 /a></li><li><a shape="rect" 
href="wsdlvalidator.html">WSDLValidator</a></li><li><a shape="rect" 
href="xsd-to-wsdl.html">XSD to WSDL</a></li></ul></li><li><a shape="rect" 
href="restful-services.html">RESTful Services</a><ul 
class="childpages-macro"><li><a shape="rect" href="http-binding.html">HTTP 
Binding</a></li><li><a shape="rect" href="jax-rs.html">JAX-RS</a></li><li><a 
shape="rect" href="jax-rs-jsr-311.html">JAX-RS (JSR-311)</a></li><li><a 
shape="rect" href="rest-with-jax-ws-provider-and-dispatch.html">REST with 
JAX-WS Provider and Dispatch</a></li><li><a shape="rect" 
href="json-support.html">JSON Support</a></li></ul></li><li><a shape="rect" 
href="wsdl-bindings.html">WSDL Bindings</a><ul class="childpages-macro"><li><a 
shape="rect" href="mtom.html">MTOM</a></li><li><a shape="rect" 
href="pure-xml.html">Pure XML</a></li><li><a shape="rect" 
href="soap-11.html">SOAP 1.1</a></li><li><a shape="rect" 
href="soap-12.html">SOAP 1.2</a></li></ul></li><li><a shape="rect" 
href="service-routi
 ng.html">Service Routing</a></li><li><a shape="rect" 
href="dynamic-languages.html">Dynamic Languages</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="javascript.html">JavaScript</a></li><li><a shape="rect" 
href="javascript-clients.html">JavaScript Clients</a></li></ul></li><li><a 
shape="rect" href="ws-support.html">WS-* Support</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="ws-addressing.html">WS-Addressing</a></li><li><a shape="rect" 
href="ws-discovery.html">WS-Discovery</a></li><li><a shape="rect" 
href="ws-metadataexchange.html">WS-MetadataExchange</a></li><li><a shape="rect" 
href="ws-policy.html">WS-Policy</a></li><li><a shape="rect" 
href="ws-reliablemessaging.html">WS-ReliableMessaging</a></li><li><a 
shape="rect" 
href="ws-secureconversation.html">WS-SecureConversation</a></li><li><a 
shape="rect" href="ws-security.html">WS-Security</a></li><li><a shape="rect" 
href="ws-securitypolicy.html">WS-SecurityPolicy</a></li><li><a shape="rect" 
href="ws-trust.html">WS-Tr
 ust</a></li></ul></li><li><a shape="rect" href="security.html">Security</a><ul 
class="childpages-macro"><li><a shape="rect" href="jaxrs-kerberos.html">JAXRS 
Kerberos</a></li><li><a shape="rect" href="saml-web-sso.html">SAML Web 
SSO</a></li></ul></li><li><a shape="rect" 
href="advanced-integration.html">Advanced Integration</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="features.html">Features</a></li><li><a shape="rect" 
href="interceptors.html">Interceptors</a></li><li><a shape="rect" 
href="invokers.html">Invokers</a></li><li><a shape="rect" 
href="multiplexed-endpointreferences.html">Multiplexed 
EndpointReferences</a></li><li><a shape="rect" 
href="server-service-and-client-factorybeans.html">Server, Service, and Client 
FactoryBeans</a></li></ul></li><li><a shape="rect" 
href="deployment.html">Deployment</a><ul class="childpages-macro"><li><a 
shape="rect" 
href="application-server-specific-configuration-guide.html">Application Server 
Specific Configuration Guide</a></li><li><
 a shape="rect" href="embedding-cxf-inside-spring.html">Embedding CXF inside 
Spring</a></li><li><a shape="rect" 
href="using-cxf-and-cdi-1112-jsr-346-in-osgi-environment.html">Using CXF and 
CDI 1.1/1.2 (JSR-346) in OSGi environment</a></li><li><a shape="rect" 
href="using-cxf-and-cdi-11-jsr-346.html">Using CXF and CDI 1.1 
(JSR-346)</a></li><li><a shape="rect" 
href="using-cxf-jca-rar-in-application-server.html">Using CXF-JCA RAR in 
Application Server</a></li></ul></li><li><a shape="rect" 
href="schemas-and-namespaces.html">Use of Schemas and Namespaces</a></li><li><a 
shape="rect" href="javadoc.html">Javadoc</a></li></ul><h3 
id="Index-OtherSourcesofDocumentationandInformation">Other Sources of 
Documentation and Information</h3><p>There are several companies that provide 
extra documentation, examples, tutorials, etc... that users may find useful. 
See the <a shape="rect" 
href="http://cxf.apache.org/commercial-cxf-offerings.html";>Commercial CXF 
Offerings</a> page for more details.</p><p>Also
 , many users have created excellent blog posts and other articles that may 
provide extra information. See the <a shape="rect" 
href="http://cxf.apache.org/resources-and-articles.html";>Resources and 
Articles</a> page for a listing.</p><h2 id="Index-DeveloperGuide">Developer 
Guide</h2><ul><li><a shape="rect" href="cxf-architecture.html">CXF 
Architecture</a></li><li><a shape="rect" 
href="configuration-for-developers.html">Configuration for 
Developers</a></li><li><a shape="rect" href="cxf-dependency-graphs.html">CXF 
Dependency Graphs</a></li><li><a shape="rect" 
href="documentation-todos.html">Documentation TODOs</a></li></ul></div>
+</div><ul><li><a shape="rect" href="overview.html">Overview</a><ul 
class="childpages-macro"><li><a shape="rect" href="why-cxf.html">Why 
CXF?</a></li><li><a shape="rect" 
href="how-do-i-integrate-my-application-with-cxf.html">How do I integrate my 
application with CXF</a> &#8212; <span class="smalltext">A meta guide to 
integrating your application with CXF - including Bindings, Transports, 
Interceptors, etc</span></li><li><a shape="rect" 
href="how-do-i-develop-a-service.html">How do I develop a service?</a> &#8212; 
<span class="smalltext">A meta guide to your options with CXF</span></li><li><a 
shape="rect" href="how-do-i-develop-a-client.html">How do I develop a 
client?</a> &#8212; <span class="smalltext">A meta guide to your options with 
CXF</span></li></ul></li><li><a shape="rect" href="how-tos.html">How-Tos</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="writing-a-service-with-spring.html">Writing a service with 
Spring</a></li><li><a shape="rect" href="a-simple-jax-ws-ser
 vice.html">A simple JAX-WS service</a></li><li><a shape="rect" 
href="running-a-service-in-tomcat-on-zos.html">Running a service in Tomcat on 
zOS</a></li><li><a shape="rect" 
href="defining-contract-first-webservices-with-wsdl-generation-from-java.html">Defining
 Contract first webservices with wsdl generation from java</a></li><li><a 
shape="rect" href="migration-guides.html">Migration Guides</a></li><li><a 
shape="rect" href="sample-projects.html">Sample 
Projects</a></li></ul></li><li><a shape="rect" 
href="frontends.html">Frontends</a><ul class="childpages-macro"><li><a 
shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" 
href="dynamic-clients.html">Dynamic Clients</a></li><li><a shape="rect" 
href="jax-ws.html">JAX-WS</a><ul class="childpages-macro"><li><a shape="rect" 
href="developing-a-consumer.html">Developing a Consumer</a></li><li><a 
shape="rect" href="developing-a-service.html">Developing a 
Service</a></li><li><a shape="rect" href="jax-ws-configuration.htm
 l">JAX-WS Configuration</a></li><li><a shape="rect" 
href="jax-ws-dispatch-api.html">JAX-WS Dispatch API</a></li><li><a shape="rect" 
href="provider-services.html">Provider Services</a></li><li><a shape="rect" 
href="webservicecontext.html">WebserviceContext</a></li></ul></li><li><a 
shape="rect" href="simple.html">Simple</a><ul class="childpages-macro"><li><a 
shape="rect" href="simple-frontend.html">Simple Frontend</a></li><li><a 
shape="rect" href="simple-frontend-configuration.html">Simple Frontend 
Configuration</a></li></ul></li></ul></li><li><a shape="rect" 
href="databindings.html">DataBindings</a><ul class="childpages-macro"><li><a 
shape="rect" href="aegis-21.html">Aegis (2.1)</a> &#8212; <span 
class="smalltext">For CXF 2.1 or newer</span></li><li><a shape="rect" 
href="aegis-databinding-20x.html">Aegis Databinding (2.0.x)</a> &#8212; <span 
class="smalltext">For CXF up to 2.0.x</span></li><li><a shape="rect" 
href="jaxb.html">JAXB</a></li><li><a shape="rect" href="mtom-attachments-wi
 th-jaxb.html">MTOM Attachments with JAXB</a></li><li><a shape="rect" 
href="sdo.html">SDO</a></li><li><a shape="rect" 
href="xmlbeans.html">XMLBeans</a></li></ul></li><li><a shape="rect" 
href="transports.html">Transports</a><ul class="childpages-macro"><li><a 
shape="rect" href="http-transport.html">HTTP Transport</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="asynchronous-client-http-transport.html">Asynchronous Client HTTP 
Transport</a></li><li><a shape="rect" 
href="client-http-transport-including-ssl-support.html">Client HTTP Transport 
(including SSL support)</a></li><li><a shape="rect" 
href="jetty-configuration.html">Jetty Configuration</a></li><li><a shape="rect" 
href="server-http-transport.html">Server HTTP Transport</a></li><li><a 
shape="rect" href="servlet-transport.html">Servlet Transport</a></li><li><a 
shape="rect" href="standalone-http-transport.html">Standalone HTTP 
Transport</a></li></ul></li><li><a shape="rect" href="jms-transport.html">JMS 
Transport</a><ul cla
 ss="childpages-macro"><li><a shape="rect" 
href="cxf-2x-jms-configuration-removed-in-cxf-3.html">CXF 2.x JMS configuration 
(removed in CXF 3)</a></li><li><a shape="rect" 
href="jms-performance-and-pooling.html">JMS performance and 
pooling</a></li><li><a shape="rect" href="jms-transactions.html">JMS 
transactions</a></li><li><a shape="rect" 
href="soap-over-jms-10-support.html">SOAP over JMS 1.0 support</a></li><li><a 
shape="rect" href="using-the-jmsconfigfeature.html">Using the 
JMSConfigFeature</a></li></ul></li><li><a shape="rect" 
href="local-transport.html">Local Transport</a></li><li><a shape="rect" 
href="udp-transport.html">UDP Transport</a><ul class="childpages-macro"><li><a 
shape="rect" href="soap-over-udp.html">SOAP over UDP</a></li></ul></li><li><a 
shape="rect" href="custom-transport.html">Custom Transport</a></li><li><a 
shape="rect" href="coloc-feature.html">Coloc Feature</a></li><li><a 
shape="rect" href="apache-camel-transport.html">Apache Camel 
Transport</a></li><li><a shape=
 "rect" href="websocket.html">WebSocket</a></li></ul></li><li><a shape="rect" 
href="configuration.html">Configuration</a><ul class="childpages-macro"><li><a 
shape="rect" href="bus-configuration.html">Bus Configuration</a></li><li><a 
shape="rect" href="featureslist.html">FeaturesList</a></li><li><a shape="rect" 
href="jmx-management.html">JMX Management</a></li><li><a shape="rect" 
href="wsaconfiguration.html">WSAConfiguration</a></li><li><a shape="rect" 
href="wspconfiguration.html">WSPConfiguration</a></li><li><a shape="rect" 
href="wsrmconfiguration.html">WSRMConfiguration</a></li></ul></li><li><a 
shape="rect" href="debugging-and-logging.html">Debugging and 
Logging</a></li><li><a shape="rect" href="tools.html">Tools</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="cxf-tools-in-eclipse.html">CXF tools in Eclipse</a></li><li><a 
shape="rect" href="idl-to-wsdl.html">IDL to WSDL</a></li><li><a shape="rect" 
href="java-to-javascript.html">Java to Javascript</a></li><li><a shape="rect
 " href="java-to-ws.html">Java to WS</a></li><li><a shape="rect" 
href="java-to-wsdl.html">Java to WSDL</a></li><li><a shape="rect" 
href="maven-cxf-codegen-plugin-wsdl-to-java.html">Maven cxf-codegen-plugin 
(WSDL to Java)</a></li><li><a shape="rect" 
href="maven-java2wsdl-plugin-cxf-20x-only-removed-in-21-and-replaced-with-java2ws.html">Maven
 Java2WSDL plugin (CXF 2.0.x only.  Removed in 2.1 and replaced with 
Java2WS)</a></li><li><a shape="rect" href="maven-java2ws-plugin.html">Maven 
Java2WS plugin</a></li><li><a shape="rect" 
href="using-cxf-with-maven.html">Using CXF with maven</a></li><li><a 
shape="rect" href="wsdl-to-corba.html">WSDL to CORBA</a></li><li><a 
shape="rect" href="wsdl-to-java.html">WSDL to Java</a></li><li><a shape="rect" 
href="wsdl-to-javascript.html">WSDL to Javascript</a></li><li><a shape="rect" 
href="wsdl-to-service.html">WSDL to Service</a></li><li><a shape="rect" 
href="wsdl-to-soap.html">WSDL to SOAP</a></li><li><a shape="rect" 
href="wsdl-to-xml.html">WSDL to XML<
 /a></li><li><a shape="rect" 
href="wsdlvalidator.html">WSDLValidator</a></li><li><a shape="rect" 
href="xsd-to-wsdl.html">XSD to WSDL</a></li></ul></li><li><a shape="rect" 
href="restful-services.html">RESTful Services</a><ul 
class="childpages-macro"><li><a shape="rect" href="http-binding.html">HTTP 
Binding</a></li><li><a shape="rect" href="jax-rs.html">JAX-RS</a></li><li><a 
shape="rect" href="jax-rs-jsr-311.html">JAX-RS (JSR-311)</a></li><li><a 
shape="rect" href="rest-with-jax-ws-provider-and-dispatch.html">REST with 
JAX-WS Provider and Dispatch</a></li><li><a shape="rect" 
href="json-support.html">JSON Support</a></li></ul></li><li><a shape="rect" 
href="wsdl-bindings.html">WSDL Bindings</a><ul class="childpages-macro"><li><a 
shape="rect" href="mtom.html">MTOM</a></li><li><a shape="rect" 
href="pure-xml.html">Pure XML</a></li><li><a shape="rect" 
href="soap-11.html">SOAP 1.1</a></li><li><a shape="rect" 
href="soap-12.html">SOAP 1.2</a></li></ul></li><li><a shape="rect" 
href="service-routi
 ng.html">Service Routing</a></li><li><a shape="rect" 
href="dynamic-languages.html">Dynamic Languages</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="javascript.html">JavaScript</a></li><li><a shape="rect" 
href="javascript-clients.html">JavaScript Clients</a></li></ul></li><li><a 
shape="rect" href="ws-support.html">WS-* Support</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="ws-addressing.html">WS-Addressing</a></li><li><a shape="rect" 
href="ws-discovery.html">WS-Discovery</a></li><li><a shape="rect" 
href="ws-metadataexchange.html">WS-MetadataExchange</a></li><li><a shape="rect" 
href="ws-policy.html">WS-Policy</a></li><li><a shape="rect" 
href="ws-reliablemessaging.html">WS-ReliableMessaging</a></li><li><a 
shape="rect" 
href="ws-secureconversation.html">WS-SecureConversation</a></li><li><a 
shape="rect" href="ws-security.html">WS-Security</a></li><li><a shape="rect" 
href="ws-securitypolicy.html">WS-SecurityPolicy</a></li><li><a shape="rect" 
href="ws-trust.html">WS-Tr
 ust</a></li></ul></li><li><a shape="rect" href="security.html">Security</a><ul 
class="childpages-macro"><li><a shape="rect" href="jaxrs-kerberos.html">JAXRS 
Kerberos</a></li><li><a shape="rect" href="saml-web-sso.html">SAML Web 
SSO</a></li><li><a shape="rect" href="security-configuration.html">Security 
Configuration</a></li></ul></li><li><a shape="rect" 
href="advanced-integration.html">Advanced Integration</a><ul 
class="childpages-macro"><li><a shape="rect" 
href="features.html">Features</a></li><li><a shape="rect" 
href="interceptors.html">Interceptors</a></li><li><a shape="rect" 
href="invokers.html">Invokers</a></li><li><a shape="rect" 
href="multiplexed-endpointreferences.html">Multiplexed 
EndpointReferences</a></li><li><a shape="rect" 
href="server-service-and-client-factorybeans.html">Server, Service, and Client 
FactoryBeans</a></li></ul></li><li><a shape="rect" 
href="deployment.html">Deployment</a><ul class="childpages-macro"><li><a 
shape="rect" href="application-server-specific-c
 onfiguration-guide.html">Application Server Specific Configuration 
Guide</a></li><li><a shape="rect" 
href="embedding-cxf-inside-spring.html">Embedding CXF inside 
Spring</a></li><li><a shape="rect" 
href="using-cxf-and-cdi-1112-jsr-346-in-osgi-environment.html">Using CXF and 
CDI 1.1/1.2 (JSR-346) in OSGi environment</a></li><li><a shape="rect" 
href="using-cxf-and-cdi-11-jsr-346.html">Using CXF and CDI 1.1 
(JSR-346)</a></li><li><a shape="rect" 
href="using-cxf-jca-rar-in-application-server.html">Using CXF-JCA RAR in 
Application Server</a></li></ul></li><li><a shape="rect" 
href="schemas-and-namespaces.html">Use of Schemas and Namespaces</a></li><li><a 
shape="rect" href="javadoc.html">Javadoc</a></li></ul><h3 
id="Index-OtherSourcesofDocumentationandInformation">Other Sources of 
Documentation and Information</h3><p>There are several companies that provide 
extra documentation, examples, tutorials, etc... that users may find useful. 
See the <a shape="rect" href="http://cxf.apache.org/commerc
 ial-cxf-offerings.html">Commercial CXF Offerings</a> page for more 
details.</p><p>Also, many users have created excellent blog posts and other 
articles that may provide extra information. See the <a shape="rect" 
href="http://cxf.apache.org/resources-and-articles.html";>Resources and 
Articles</a> page for a listing.</p><h2 id="Index-DeveloperGuide">Developer 
Guide</h2><ul><li><a shape="rect" href="cxf-architecture.html">CXF 
Architecture</a></li><li><a shape="rect" 
href="configuration-for-developers.html">Configuration for 
Developers</a></li><li><a shape="rect" href="cxf-dependency-graphs.html">CXF 
Dependency Graphs</a></li><li><a shape="rect" 
href="documentation-todos.html">Documentation TODOs</a></li></ul></div>
            </div>
            <!-- Content -->
          </td>

Modified: websites/production/cxf/content/docs/jax-rs-saml.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-saml.html (original)
+++ websites/production/cxf/content/docs/jax-rs-saml.html Fri Apr 24 14:46:55 
2015
@@ -117,23 +117,23 @@ Apache CXF -- JAX-RS SAML
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div 
id="ConfluenceContent"><p>&#160;</p><p>&#160;</p><p>&#160;</p><p></p><p><span 
class="inline-first-p" style="font-size:2em;font-weight:bold"> JAX-RS: SAML 
</span></p><p></p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1419015866024 {padding: 0px;}
-div.rbtoc1419015866024 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1419015866024 li {margin-left: 0px;padding-left: 0px;}
+<div 
id="ConfluenceContent"><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;<span 
class="inline-first-p" style="font-size:2em;font-weight:bold">JAX-RS: 
SAML</span>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1429886791424 {padding: 0px;}
+div.rbtoc1429886791424 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1429886791424 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1419015866024">
-<ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSSAML-Introduction">Introduction</a></li><li><a shape="rect" 
href="#JAX-RSSAML-Mavendependencies">Maven dependencies</a></li><li><a 
shape="rect" href="#JAX-RSSAML-EnvelopedSAMLassertions">Enveloped SAML 
assertions</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLassertionsinAuthorizationheader">SAML assertions in 
Authorization header</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLassertionsasFormvalues">SAML assertions as Form 
values</a></li><li><a shape="rect" 
href="#JAX-RSSAML-CreatingSAMLAssertions">Creating SAML 
Assertions</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLAssertionValidation">SAML Assertion 
Validation</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLAuthorization">SAML Authorization</a>
+/*]]>*/</style></p><div class="toc-macro rbtoc1429886791424">
+<ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSSAML-Introduction">Introduction</a></li><li><a shape="rect" 
href="#JAX-RSSAML-Backwardscompatibilityconfigurationnote">Backwards 
compatibility configuration note</a></li><li><a shape="rect" 
href="#JAX-RSSAML-Mavendependencies">Maven dependencies</a></li><li><a 
shape="rect" href="#JAX-RSSAML-EnvelopedSAMLassertions">Enveloped SAML 
assertions</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLassertionsinAuthorizationheader">SAML assertions in 
Authorization header</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLassertionsasFormvalues">SAML assertions as Form 
values</a></li><li><a shape="rect" 
href="#JAX-RSSAML-CreatingSAMLAssertions">Creating SAML 
Assertions</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLAssertionValidation">SAML Assertion 
Validation</a></li><li><a shape="rect" 
href="#JAX-RSSAML-SAMLAuthorization">SAML Authorization</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSSAML-ClaimsBasedAccessControl">Claims Based Access 
Control</a></li><li><a shape="rect" 
href="#JAX-RSSAML-RoleBasedAccessControl">Role Based Access 
Control</a></li></ul>
 </li><li><a shape="rect" href="#JAX-RSSAML-SAMLWebSSOProfile">SAML Web SSO 
Profile</a></li></ul>
-</div><h1 id="JAX-RSSAML-Introduction">Introduction</h1><p>CXF 2.5.0 
introduces an initial support for working with <a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/SAML_2.0"; 
rel="nofollow">SAML2</a> assertions. So far the main focus has been put on 
making sure SAML assertions can be included in HTTP requests targeted at 
application endpoints: embedded inside XML payloads or passed as encoded HTTP 
header or form values.</p><p>See also <a shape="rect" 
href="jax-rs-xml-security.html">JAX-RS XML Security</a>.</p><h1 
id="JAX-RSSAML-Mavendependencies">Maven dependencies</h1><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div><h1 id="JAX-RSSAML-Introduction">Introduction</h1><p>CXF 2.5.0 
introduces an initial support for working with <a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/SAML_2.0"; 
rel="nofollow">SAML2</a> assertions. So far the main focus has been put on 
making sure SAML assertions can be included in HTTP requests targeted at 
application endpoints: embedded inside XML payloads or passed as encoded HTTP 
header or form values.</p><p>See also <a shape="rect" 
href="jax-rs-xml-security.html">JAX-RS XML Security</a>.</p><h1 
id="JAX-RSSAML-Backwardscompatibilityconfigurationnote">Backwards compatibility 
configuration note</h1><p>From Apache CXF 3.1.0, the WS-Security based 
configuration tags used to configure XML Signature or Encryption 
("ws-security-*") have been changed to just start with "security-". Apart from 
this they are exactly the same. Older "ws-security-" values continue to be 
accepted in CXF 3.1.0. To use any of the configuration examples in this page 
with an
  older version of CXF, simply add a "ws-" prefix to the configuration 
tag.</p><h1 id="JAX-RSSAML-Mavendependencies">Maven dependencies</h1><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;dependency&gt;
   &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
   &lt;artifactId&gt;cxf-rt-rs-security-xml&lt;/artifactId&gt;
   &lt;version&gt;2.5.0&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><p>This module depends on CXF WS-Security and Apache WSS4J 
modules, due to them containing a lot of useful utility code.<br clear="none"> 
We will see in time if it will make sense to exclude such dependencies or 
not.</p><h1 id="JAX-RSSAML-EnvelopedSAMLassertions">Enveloped SAML 
assertions</h1><p>Payload:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>This module depends on Apache WSS4J, as it contains a lot of 
useful utility code based around OpenSAML.</p><h1 
id="JAX-RSSAML-EnvelopedSAMLassertions">Enveloped SAML 
assertions</h1><p>Payload:</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;env:Envelope 
xmlns:env=&quot;http://org.apache.cxf/rs/env&quot;&gt;
 
 &lt;Book ID=&quot;67ca6441-0c4e-4430-af0e-9463ce9226aa&quot;&gt;
@@ -255,29 +255,25 @@ div.rbtoc1419015866024 li {margin-left:
        &lt;/jaxrs:providers&gt;
        
        &lt;jaxrs:properties&gt;
-           &lt;entry key=&quot;ws-security.signature.properties&quot; 
+           &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;
        &lt;/jaxrs:properties&gt;
         
     &lt;/jaxrs:server&gt;
 ]]></script>
 </div></div><p>Client code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[private WebClient createWebClient(String 
address, 
-                                  boolean selfSigned) {
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[private WebClient createWebClient(String 
address) {
   JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
   bean.setAddress(address);
   
   Map&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();
-  properties.put(&quot;ws-security.callback-handler&quot;, 
+  properties.put(&quot;security.callback-handler&quot;, 
                 
&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;);
-  properties.put(&quot;ws-security.saml-callback-handler&quot;, 
+  properties.put(&quot;security.saml-callback-handler&quot;, 
                  
&quot;org.apache.cxf.systest.jaxrs.security.saml.SamlCallbackHandler&quot;);
-  properties.put(&quot;ws-security.signature.username&quot;, 
&quot;alice&quot;);
-  properties.put(&quot;ws-security.signature.properties&quot;, 
+  properties.put(&quot;security.signature.username&quot;, &quot;alice&quot;);
+  properties.put(&quot;security.signature.properties&quot;, 
                  
&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;);
-  if (selfSigned) {
-     properties.put(&quot;ws-security.self-sign-saml-assertion&quot;, 
&quot;true&quot;);
-  }
   bean.setProperties(properties);
         
   bean.getOutInterceptors().add(new SamlEnvelopedOutInterceptor(!selfSigned));
@@ -288,10 +284,22 @@ div.rbtoc1419015866024 li {margin-left:
   return bean.createWebClient();
 }
 ]]></script>
-</div></div><p>In the above code, the "ws-security.self-sign-saml-assertion" 
property, if set to true, will require SamlEnvelopedOutInterceptor to get a 
SAML assertion self-signed, by adding an enveloped signature to it. When we 
also need to sign the application payload such as Book we need to make sure 
that a detached XML signature for Book is created. When the whole envelope is 
signed then SamlEnvelopedOutInterceptor needs to be placed before 
XmlSigOutInterceptor hence the "new SamlEnvelopedOutInterceptor(!selfSigned)" 
constructor is invoked.</p><h1 
id="JAX-RSSAML-SAMLassertionsinAuthorizationheader">SAML assertions in 
Authorization header</h1><p>Logging output:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>When we also need to sign the application payload such as Book 
we need to make sure that a detached XML signature for Book is created. When 
the whole envelope is signed then SamlEnvelopedOutInterceptor needs to be 
placed before XmlSigOutInterceptor hence the "new 
SamlEnvelopedOutInterceptor(!selfSigned)" constructor is invoked.</p><h1 
id="JAX-RSSAML-SAMLassertionsinAuthorizationheader">SAML assertions in 
Authorization header</h1><p>Logging output:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[Address: 
https://localhost:9000/samlheader/bookstore/books/123
 Http-Method: GET
-Headers: {Accept=[application/xml], Authorization=[SAML 
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],
 ...}
+Headers: {Accept=[application/xml], Authorization=[SAML 
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
+fCmvq9/El7/AXoseyE=], ...}
 ]]></script>
 </div></div><p>Note that the Authorization header has an encoded SAML 
Assertion as its value. The original SAML assertion has been optionally 
compressed using a deflated encoding and then base64-encoded. This encoded 
value can be signed itself - but it is not currently possible.</p><p>Server 
configuration is similar to the one from the Enveloped SAML Assertions section, 
the only difference is that a SAML handler needs to be replaced:</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;bean id=&quot;serviceBean&quot; 
class=&quot;org.apache.cxf.systest.jaxrs.security.BookStore&quot;/&gt;
@@ -300,22 +308,19 @@ Headers: {Accept=[application/xml], Auth
     &lt;!-- same as in the Enveloped SAML Assertions section --&gt; 
 ]]></script>
 </div></div><p>Client code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[private WebClient createWebClient(String 
address, 
-                                  boolean selfSigned) {
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[private WebClient createWebClient(String 
address) {
   JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
   bean.setAddress(address);
   
   Map&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();
-  properties.put(&quot;ws-security.callback-handler&quot;, 
+  properties.put(&quot;security.callback-handler&quot;, 
                 
&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;);
-  properties.put(&quot;ws-security.saml-callback-handler&quot;, 
+  properties.put(&quot;security.saml-callback-handler&quot;, 
                  
&quot;org.apache.cxf.systest.jaxrs.security.saml.SamlCallbackHandler&quot;);
-  properties.put(&quot;ws-security.signature.username&quot;, 
&quot;alice&quot;);
-  properties.put(&quot;ws-security.signature.properties&quot;, 
+  properties.put(&quot;security.signature.username&quot;, &quot;alice&quot;);
+  properties.put(&quot;security.signature.properties&quot;, 
                  
&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;);
-  if (selfSigned) {
-     properties.put(&quot;ws-security.self-sign-saml-assertion&quot;, 
&quot;true&quot;);
-  }
+
   bean.setProperties(properties);
         
   bean.getOutInterceptors().add(new SamlHeaderOutInterceptor());
@@ -328,8 +333,20 @@ Headers: {Accept=[application/xml], Auth
 Encoding: ISO-8859-1
 Http-Method: POST
 Content-Type: application/x-www-form-urlencoded
-Headers: {Accept=[application/xml], Cache-Control=[no-cache], 
connection=[keep-alive], Content-Length=[2206], 
content-type=[application/x-www-form-urlencoded], Host=[localhost:9000], 
Pragma=[no-cache], User-Agent=[Apache CXF ${project.version}]}
-Payload: 
name=CXF&amp;id=125&amp;SAMLToken=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
+Headers: {Accept=[application/xml], Cache-Control=[no-cache], 
connection=[keep-alive], Content-Length=[2206], 
content-type=[application/x-www-form-urlencoded], 
+Host=[localhost:9000], Pragma=[no-cache], User-Agent=[Apache CXF 
${project.version}]}
+Payload: 
name=CXF&amp;id=125&amp;SAMLToken=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
 ]]></script>
 </div></div><p>Note that only form 'name' and 'id' fields will remain after 
the SAML handler processes a SAML assertion encoded in the SAMLToken form 
field. The original SAML assertion has been optionally compressed using a 
deflated encoding and then base64-encoded. This encoded value can be signed - 
but it is not currently possible.</p><p>Server configuration is similar to the 
one from the Enveloped SAML Assertions section, the only difference is that a 
SAML handler needs to be replaced:</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;bean id=&quot;serviceBean&quot; 
class=&quot;org.apache.cxf.systest.jaxrs.security.BookStore&quot;/&gt;
@@ -340,7 +357,7 @@ Payload: name=CXF&amp;id=125&amp;SAMLTok
 </div></div><p>The client code is the same as in the SAML assertions in 
Authorization header section except than an instance of SamlFormOutInterceptor 
has to be registered:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[bean.getOutInterceptors().add(new 
SamlFormOutInterceptor());
 ]]></script>
-</div></div><h1 id="JAX-RSSAML-CreatingSAMLAssertions">Creating SAML 
Assertions</h1><p>If you use CXF JAX-RS client API to experiment with SAML then 
all you need to do is to register an appropriate out interceptor as shown in 
the above code fragments. The interceptor will ensure that a SAML assertion is 
created and added inside the XML envelope, as a form or HTTP header value.<br 
clear="none"> All of the SAML output interceptors depend on a 
"ws-security.saml-callback-handler" property linking to a custom 
javax.security.auth.callback.Callback implementation which in its 
handle(Callbacks) method provides the information which is needed to create a 
SAML assertion to a org.apache.ws.security.saml.ext.SAMLCallback Callback 
instance, for example, see this <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/cxf/trunk/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/saml/SamlCallbackHandler.java";>custom
 implementation</a>.</p><p>More involved 
 cases with SAML assertions being created by identity providers will be 
supported, with the help of CXF (WS) STSClient when needed.</p><h1 
id="JAX-RSSAML-SAMLAssertionValidation">SAML Assertion Validation</h1><p>When 
SAML assertions are received on the server side, they are validated to make 
sure that the enveloped signatures are correct. SubjectConfirmation methods 
(sender-vouches, holder-of-key, bearer) are also checked. <br clear="none"> The 
validation can be delegated to STS if needed. By default, server side SAML 
handlers have a "samlValidator" property set to an instance of 
org.apache.ws.security.validate.SamlAssertionValidator which does a thorough 
validation of the assertion. If needed 
org.apache.cxf.ws.security.trust.STSTokenValidator can be set instead which 
will use STS to validate the assertion.<br clear="none"> Custom validators 
extending WSS4J SamlAssertionValidator and doing the additional 
application-specific validation can be registered if needed.</p><p>Note the fact
  that the default validation relies a lot on the code heavily utilized by the 
WS-Security implementation should be of no concern - it is an example of the 
integration on its own in order to get the validation done. For example, WS-* 
STS are heavily used in the enterprise today and it simply makes a complete 
sense to rely on it to validate a SAML assertion if it is 
possible.</p><p>SubjectConfirmation sender-vouches and holder-of-key methods 
can be easily validated with enveloped SAML assertions given that the embedded 
SAML signatures and key info can be checked against the signature used to sign 
the envelope or a custom payload like Book.</p><p>At the moment these methods 
can not be properly validated when the assertion is provided in a header or in 
the form, the additional signature signing the encoded SAML token will be 
needed - this will be supported in due time. Use "bearer" in those 
cases.</p><h1 id="JAX-RSSAML-SAMLAuthorization">SAML Authorization</h1><p>SAML 
assertions may con
 tain so-called claims which are represented by a sequence of SAML 
AttributeStatements containing one or more Attributes, for example:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h1 id="JAX-RSSAML-CreatingSAMLAssertions">Creating SAML 
Assertions</h1><p>If you use CXF JAX-RS client API to experiment with SAML then 
all you need to do is to register an appropriate out interceptor as shown in 
the above code fragments. The interceptor will ensure that a SAML assertion is 
created and added inside the XML envelope, as a form or HTTP header value.<br 
clear="none"> All of the SAML output interceptors depend on a 
"security.saml-callback-handler" property linking to a custom 
javax.security.auth.callback.Callback implementation which in its 
handle(Callbacks) method provides the information which is needed to create a 
SAML assertion to a org.apache.ws.security.saml.ext.SAMLCallback Callback 
instance, for example, see this <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/cxf/trunk/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/saml/SamlCallbackHandler.java";>custom
 implementation</a>.</p><p>More involved cas
 es with SAML assertions being created by identity providers will be supported, 
with the help of CXF (WS) STSClient when needed.</p><h1 
id="JAX-RSSAML-SAMLAssertionValidation">SAML Assertion Validation</h1><p>When 
SAML assertions are received on the server side, they are validated to make 
sure that the enveloped signatures are correct. SubjectConfirmation methods 
(sender-vouches, holder-of-key, bearer) are also checked. <br clear="none"> The 
validation can be delegated to STS if needed. By default, server side SAML 
handlers have a "samlValidator" property set to an instance of 
org.apache.ws.security.validate.SamlAssertionValidator which does a thorough 
validation of the assertion. If needed 
org.apache.cxf.ws.security.trust.STSTokenValidator can be set instead which 
will use STS to validate the assertion.<br clear="none"> Custom validators 
extending WSS4J SamlAssertionValidator and doing the additional 
application-specific validation can be registered if needed.</p><p>Note the 
fact th
 at the default validation relies a lot on the code heavily utilized by the 
WS-Security implementation should be of no concern - it is an example of the 
integration on its own in order to get the validation done. For example, WS-* 
STS are heavily used in the enterprise today and it simply makes a complete 
sense to rely on it to validate a SAML assertion if it is 
possible.</p><p>SubjectConfirmation sender-vouches and holder-of-key methods 
can be easily validated with enveloped SAML assertions given that the embedded 
SAML signatures and key info can be checked against the signature used to sign 
the envelope or a custom payload like Book.</p><p>At the moment these methods 
can not be properly validated when the assertion is provided in a header or in 
the form, the additional signature signing the encoded SAML token will be 
needed - this will be supported in due time. Use "bearer" in those 
cases.</p><h1 id="JAX-RSSAML-SAMLAuthorization">SAML Authorization</h1><p>SAML 
assertions may contai
 n so-called claims which are represented by a sequence of SAML 
AttributeStatements containing one or more Attributes, for example:</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;saml2:Assertion&gt;
  &lt;!-- ... --&gt;
  &lt;saml2:AttributeStatement&gt;

Modified: websites/production/cxf/content/docs/jax-rs-xml-security.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-xml-security.html (original)
+++ websites/production/cxf/content/docs/jax-rs-xml-security.html Fri Apr 24 
14:46:55 2015
@@ -117,13 +117,13 @@ Apache CXF -- JAX-RS XML Security
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><p></p><p></p><p><span class="inline-first-p" 
style="font-size:2em;font-weight:bold"> JAX-RS: XML Security 
</span></p><p></p><p></p><p></p><p>&#160;</p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1419015873155 {padding: 0px;}
-div.rbtoc1419015873155 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1419015873155 li {margin-left: 0px;padding-left: 0px;}
+<div id="ConfluenceContent"><p>&#160;</p><p>&#160;</p><p>&#160;<span 
class="inline-first-p" style="font-size:2em;font-weight:bold">JAX-RS: XML 
Security</span>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1429886791674 {padding: 0px;}
+div.rbtoc1429886791674 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1429886791674 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1419015873155">
-<ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Introduction">Introduction</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Mavendependencies">Maven dependencies</a></li><li><a 
shape="rect" href="#JAX-RSXMLSecurity-XMLSignature">XML Signature</a>
+/*]]>*/</style></p><div class="toc-macro rbtoc1429886791674">
+<ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Introduction">Introduction</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Mavendependencies">Maven dependencies</a></li><li><a 
shape="rect" 
href="#JAX-RSXMLSecurity-Backwardscompatibilityconfigurationnote">Backwards 
compatibility configuration note</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-XMLSignature">XML Signature</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Envelopedsignatures">Enveloped 
signatures</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Envelopingsignatures">Enveloping 
signatures</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Detachedsignatures">Detached signatures</a></li><li><a 
shape="rect" href="#JAX-RSXMLSecurity-Customizingthesignature">Customizing the 
signature</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-SignatureKeyInfoValidation">Signature Key Info 
Validation</a></li></ul>
 </li><li><a shape="rect" href="#JAX-RSXMLSecurity-XMLEncryption">XML 
Encryption</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSXMLSecurity-Usingtherequestsignaturecertificatesfortheencryption">Using
 the request signature certificates for the encryption</a></li><li><a 
shape="rect" href="#JAX-RSXMLSecurity-Customizingtheencryption">Customizing the 
encryption</a></li><li><a shape="rect" 
href="#JAX-RSXMLSecurity-GCMAlgorithmandBouncyCastleprovider">GCM Algorithm and 
BouncyCastle provider</a></li></ul>
@@ -135,7 +135,7 @@ div.rbtoc1419015873155 li {margin-left:
   &lt;version&gt;2.5.2&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h1 id="JAX-RSXMLSecurity-XMLSignature">XML Signature</h1><p><a 
shape="rect" class="external-link" href="http://www.w3.org/TR/xmldsig-core/"; 
rel="nofollow">XML Signature</a> defines 3 types of signatures: enveloped, 
enveloping and detached. All the three types are supported by CXF 
JAX-RS.</p><p><strong>New</strong> Starting from CXF 2.5.2 it is also possible 
to add XML Signatures on the server side and get them validated on the client 
side.</p><h2 id="JAX-RSXMLSecurity-Envelopedsignatures">Enveloped 
signatures</h2><p>Payload:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><h1 
id="JAX-RSXMLSecurity-Backwardscompatibilityconfigurationnote">Backwards 
compatibility configuration note</h1><p>From Apache CXF 3.1.0, the WS-Security 
based configuration tags used to configure XML Signature or Encryption 
("ws-security-*") have been changed to just start with "security-". Apart from 
this they are exactly the same. Older "ws-security-" values continue to be 
accepted in CXF 3.1.0. To use any of the configuration examples in this page 
with an older version of CXF, simply add a "ws-" prefix to the configuration 
tag.</p><h1 id="JAX-RSXMLSecurity-XMLSignature">XML Signature</h1><p><a 
shape="rect" class="external-link" href="http://www.w3.org/TR/xmldsig-core/"; 
rel="nofollow">XML Signature</a> defines 3 types of signatures: enveloped, 
enveloping and detached. All the three types are supported by CXF 
JAX-RS.</p><p><strong>New</strong> Starting from CXF 2.5.2 it is also possible 
to add XML Signatures on the server side and get them validated on the client 
sid
 e.</p><h2 id="JAX-RSXMLSecurity-Envelopedsignatures">Enveloped 
signatures</h2><p>Payload:</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;Book 
ID=&quot;4bd59819-7b78-47a5-bb61-cc08348e9d48&quot;&gt;
    &lt;id&gt;126&lt;/id&gt;
    &lt;name&gt;CXF&lt;/name&gt;
@@ -153,10 +153,17 @@ div.rbtoc1419015873155 li {margin-left:
            
&lt;ds:DigestValue&gt;eFduzs6Cg1/Wd6jagUmr8vRYxHY=&lt;/ds:DigestValue&gt;
          &lt;/ds:Reference&gt;
       &lt;/ds:SignedInfo&gt;
-&lt;ds:SignatureValue&gt;DLD+wU85G+Q+H/SNoMr1I7tOCAZAjd3lYE84sBGU5tuMtzbwxKOIgg10g2F1SUbpujy1CZZ9BPkQNA+gA1CH4FE3uiBzp3DDSVv6o5l6Q76Ci0XI28ylO7O1OCY+q2nbP0WtERFWOn9f9nniVKbduz6YQHjv6cNLd8pf4+k2U3g=&lt;/ds:SignatureValue&gt;
+&lt;ds:SignatureValue&gt;DLD+wU85G+Q+H/SNoMr1I7tOCAZAjd3lYE84sBGU5tuMtzbwxKOIgg10g2F1SUbpujy1CZZ9BPkQNA+gA1CH4
+FE3uiBzp3DDSVv6o5l6Q76Ci0XI28ylO7O1OCY+q2nbP0WtERFWOn9f9nniVKbduz6YQHjv6cNLd8pf4+k2U3g=&lt;/ds:SignatureValue&gt;
 
        &lt;ds:KeyInfo&gt;
-         
&lt;ds:X509Data&gt;&lt;ds:X509Certificate&gt;MIICGjCCAYOgAwIBAgIESVRgATANBgkqhkiG9w0BAQUFADAzMRMwEQYDVQQKEwphcGFjaGUub3JnMQwwCgYDVQQLEwNlbmcxDjAMBgNVBAMTBWN4ZmNhMB4XDTcwMDEwMTAwMDAwMFoXDTM4MDExOTAzMTQwN1owMzETMBEGA1UEChMKYXBhY2hlLm9yZzEMMAoGA1UECxMDZW5nMQ4wDAYDVQQDEwVhbGljZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvu747/VShQ85f16DGSc4Ixh9PVpGguyEqrCsK8q9XHOYX9l9/g5wEC6ZcR2FwfNsoaHcKNPjd5sSTzVtBWmQjfBEfIqwTR7vuihOxyNTwEzVwIJzvo7p8/aYxk+VdBtQxq4UweIcf/iFkUbM1cZ1oiXRQzciRBi+C1BQCQE0qzsCAwEAAaM7MDkwIQYDVR0SBBowGIIWTk9UX0ZPUl9QUk9EVUNUSU9OX1VTRTAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQEFBQADgYEAhLwkm+8psKt4gnbikGzV0TgpSWGcWxWKBi+z8tI2n6hFA5v1jVHHa4G9h3s0nxQ2TewzeR/k7gmgV2sI483NgrYHmTmLKaDBWza2pAuZuDhQH8GAEhJakFtKBP++EC9rNNpZnqqHxx3qb2tW25qRtBzDmK921gg9PMomMc7uqRQ=&lt;/ds:X509Certificate&gt;
+         
&lt;ds:X509Data&gt;&lt;ds:X509Certificate&gt;MIICGjCCAYOgAwIBAgIESVRgATANBgkqhkiG9w0BAQUFADAzMRMwEQYDVQQKEwphcGFjaGUub3JnMQwwCgYDVQQL
+EwNlbmcxDjAMBgNVBAMTBWN4ZmNhMB4XDTcwMDEwMTAwMDAwMFoXDTM4MDExOTAzMTQwN1owMzETMBEGA1UEChMKYXBhY2hlLm9yZzEMMAoGA1UECxMDZW5nMQ4wDAYDVQ
+QDEwVhbGljZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvu747/VShQ85f16DGSc4Ixh9PVpGguyEqrCsK8q9XHOYX9l9/g5wEC6ZcR2FwfNsoaHcKNPjd5sSTzVt
+BWmQjfBEfIqwTR7vuihOxyNTwEzVwIJzvo7p8/aYxk+VdBtQxq4UweIcf/iFkUbM1cZ1oiXRQzciRBi+C1BQCQE0qzsCAwEAAaM7MDkwIQYDVR0SBBowGIIWTk9UX0ZPUl
+9QUk9EVUNUSU9OX1VTRTAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZI
+hvcNAQEFBQADgYEAhLwkm+8psKt4gnbikGzV0TgpSWGcWxWKBi+z8tI2n6hFA5v1jVHHa4G9h3s0nxQ2TewzeR/k7gmgV2sI483NgrYHmTmLKaDBWza2pAuZuDhQH8GAEh
+JakFtKBP++EC9rNNpZnqqHxx3qb2tW25qRtBzDmK921gg9PMomMc7uqRQ=&lt;/ds:X509Certificate&gt;
         &lt;/ds:X509Data&gt;
 
         &lt;ds:KeyValue&gt;
@@ -194,9 +201,9 @@ div.rbtoc1419015873155 li {margin-left:
     &lt;/jaxrs:outInterceptors&gt;
 
     &lt;jaxrs:properties&gt;
-          &lt;entry key=&quot;ws-security.callback-handler&quot; 
+          &lt;entry key=&quot;security.callback-handler&quot; 
                   
value=&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;/&gt;
-          &lt;entry key=&quot;ws-security.signature.properties&quot; 
+          &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;
     &lt;/jaxrs:properties&gt;
 &lt;/jaxrs:server&gt;
@@ -209,10 +216,10 @@ bean.setAddress(address);
 
 // setup properties
 Map&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();
-properties.put(&quot;ws-security.callback-handler&quot;, 
+properties.put(&quot;security.callback-handler&quot;, 
                
&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;);
-properties.put(&quot;ws-security.signature.username&quot;, &quot;alice&quot;);
-properties.put(&quot;ws-security.signature.properties&quot;, 
+properties.put(&quot;security.signature.username&quot;, &quot;alice&quot;);
+properties.put(&quot;security.signature.properties&quot;, 
                
&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;);
 bean.setProperties(properties);
 
@@ -337,7 +344,8 @@ sigInterceptor.setStyle(&quot;detached&q
                &lt;ds:X509Certificate&gt;&lt;!-- Omitted for brevity 
--&gt;&lt;/ds:X509Certificate&gt;
            &lt;/ds:X509Data&gt;
         &lt;/ds:KeyInfo&gt;
-        
&lt;xenc:CipherData&gt;&lt;xenc:CipherValue&gt;tPtZz4pnVWquaV2a7O0y+VrHoeWwk3Eu5Jnu3RHz5rGDB/MLyG6rBamhit03J2xWaV52zUtDAPEj8sr4oy5y2KLB09Hu317IbQjinePabUpd+DLnwNn5iHZpHWJPfndkh07JdYZSrMwqOvJ3fqrNJ+LQeLzZDneT8sC1vRyhSDU=&lt;/xenc:CipherValue&gt;
+        
&lt;xenc:CipherData&gt;&lt;xenc:CipherValue&gt;tPtZz4pnVWquaV2a7O0y+VrHoeWwk3Eu5Jnu3RHz5rGDB/MLyG6rBamhit03J2xWaV52zUtDAPEj8sr4oy5y2KLB09Hu317IbQjinePabUpd
++DLnwNn5iHZpHWJPfndkh07JdYZSrMwqOvJ3fqrNJ+LQeLzZDneT8sC1vRyhSDU=&lt;/xenc:CipherValue&gt;
         &lt;/xenc:CipherData&gt;
     &lt;/xenc:EncryptedKey&gt;
   &lt;/ds:KeyInfo&gt;
@@ -360,11 +368,11 @@ sigInterceptor.setStyle(&quot;detached&q
        &lt;ref bean=&quot;xmlSigHandler&quot;/&gt;
     &lt;/jaxrs:providers&gt; 
      &lt;jaxrs:properties&gt;
-           &lt;entry key=&quot;ws-security.callback-handler&quot; 
+           &lt;entry key=&quot;security.callback-handler&quot; 
                   
value=&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;/&gt;
-           &lt;entry key=&quot;ws-security.encryption.properties&quot; 
+           &lt;entry key=&quot;security.encryption.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/bob.properties&quot;/&gt;
-           &lt;entry key=&quot;ws-security.signature.properties&quot; 
+           &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;   
    
      &lt;/jaxrs:properties&gt; 
 &lt;/jaxrs:server&gt;
@@ -378,15 +386,15 @@ bean.setAddress(address);
 // setup properties
 Map&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();
 
-properties.put(&quot;ws-security.callback-handler&quot;, 
+properties.put(&quot;security.callback-handler&quot;, 
                
&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;);
-properties.put(&quot;ws-security.encryption.username&quot;, &quot;bob&quot;);
-properties.put(&quot;ws-security.encryption.properties&quot;, 
+properties.put(&quot;security.encryption.username&quot;, &quot;bob&quot;);
+properties.put(&quot;security.encryption.properties&quot;, 
                        
&quot;org/apache/cxf/systest/jaxrs/security/bob.properties&quot;);
 
 // if signature required: 
-properties.put(&quot;ws-security.signature.username&quot;, &quot;alice&quot;);
-properties.put(&quot;ws-security.signature.properties&quot;, 
+properties.put(&quot;security.signature.username&quot;, &quot;alice&quot;);
+properties.put(&quot;security.signature.properties&quot;, 
                
&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;);
 
 bean.setProperties(properties);
@@ -430,11 +438,11 @@ assertEquals(200, r.getStatus());
         &lt;ref bean=&quot;xmlEncOutHandler&quot;/&gt;
      &lt;/jaxrs:outInterceptors&gt;
      &lt;jaxrs:properties&gt;
-         &lt;entry key=&quot;ws-security.callback-handler&quot; 
+         &lt;entry key=&quot;security.callback-handler&quot; 
                   
value=&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;/&gt;
-         &lt;entry key=&quot;ws-security.encryption.properties&quot; 
+         &lt;entry key=&quot;security.encryption.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;
-         &lt;entry key=&quot;ws-security.signature.properties&quot; 
+         &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/bob.properties&quot;/&gt;
  
     &lt;/jaxrs:properties&gt; 
@@ -451,30 +459,30 @@ bean.getInInterceptors().add(sigInInterc
 <script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;!-- server --&gt;
 &lt;jaxrs:server&gt;
 &lt;jaxrs:properties&gt;
-         &lt;entry key=&quot;ws-security.callback-handler&quot; 
+         &lt;entry key=&quot;security.callback-handler&quot; 
                   
value=&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;/&gt;
-         &lt;entry key=&quot;ws-security.encryption.properties&quot; 
+         &lt;entry key=&quot;security.encryption.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;
-         &lt;entry key=&quot;ws-security.encryption.username&quot; 
value=&quot;useReqSigCert&quot;/&gt;
-         &lt;entry key=&quot;ws-security.signature.properties&quot; 
+         &lt;entry key=&quot;security.encryption.username&quot; 
value=&quot;useReqSigCert&quot;/&gt;
+         &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/bob.properties&quot;/&gt;
  
     &lt;/jaxrs:properties&gt;
 &lt;/jaxrs:server&gt;
 &lt;jaxrs:client&gt;
     &lt;jaxrs:properties&gt;
-         &lt;entry key=&quot;ws-security.callback-handler&quot; 
+         &lt;entry key=&quot;security.callback-handler&quot; 
                   
value=&quot;org.apache.cxf.systest.jaxrs.security.saml.KeystorePasswordCallback&quot;/&gt;
-         &lt;entry key=&quot;ws-security.encryption.properties&quot; 
+         &lt;entry key=&quot;security.encryption.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/bob.properties&quot;/&gt;
-         &lt;entry key=&quot;ws-security.encryption.username&quot; 
value=&quot;bob&quot;/&gt;
-         &lt;entry key=&quot;ws-security.signature.properties&quot; 
+         &lt;entry key=&quot;security.encryption.username&quot; 
value=&quot;bob&quot;/&gt;
+         &lt;entry key=&quot;security.signature.properties&quot; 
                   
value=&quot;org/apache/cxf/systest/jaxrs/security/alice.properties&quot;/&gt;
-         &lt;entry key=&quot;ws-security.signature.username&quot; 
value=&quot;alice&quot;/&gt;
+         &lt;entry key=&quot;security.signature.username&quot; 
value=&quot;alice&quot;/&gt;
     &lt;/jaxrs:properties&gt;
 &lt;/jaxrs:client&gt;
 ]]></script>
-</div></div><p>The "ws-security.encryption.username" server property is set to 
"useReqSigCert".</p><p>Note that the client configuration assumes Alice (with 
its alice.properties) represents a given client, Bob (with its bob.properties) 
- the receiver/server.</p><p>On the server side the encryption properties point 
to alice.properties and signature.properties to bob.properties. This is because 
the outbound signature needs to be done with the Bob's certificate and the 
encryption - with either the specific Alice's certificate or the certificate 
from the inbound signature. Note that the in encryption handler will check the 
signature properties first - this will ensure that the Bob's certificate used 
to encrypt the data on the client side can be validated, similarly for the in 
signature handler.</p><h2 
id="JAX-RSXMLSecurity-Customizingtheencryption">Customizing the 
encryption</h2><p>org.apache.cxf.rs.security.xml.XmlEncOutInterceptor manages 
the encryption process.<br clear="none"> The f
 ollowing properties can be set on it at the moment:<br clear="none"> 
"symmetricEncAlgorithm": default is 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";, complete URIs or short 
identifiers are supported, for example, "aes128-cbc" or 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";. <br clear="none"> 
"digestAlgorithm": optional, example "http://www.w3.org/2001/04/xmlenc#sha256"; 
can be set.<br clear="none"> "keyEncAlgorithm": default is 
"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";<br clear="none"> 
"keyIdentifierType": default is "X509_KEY", "X509_ISSUER_SERIAL" is also 
supported - useful when the whole x509Certificate should not be embedded</p><h2 
id="JAX-RSXMLSecurity-GCMAlgorithmandBouncyCastleprovider">GCM Algorithm and 
BouncyCastle provider</h2><p>Please see Colm's <a shape="rect" 
class="external-link" 
href="http://coheigea.blogspot.com/2012/04/note-on-cve-2011-1096.html"; 
rel="nofollow">blog</a> for the information about the possible attack against 
XML Encryption and the GCM algor
 ithm which needs to be used in order to prevent it.</p><h1 
id="JAX-RSXMLSecurity-Restrictingencryptionandsignaturealgorithms">Restricting 
encryption and signature algorithms</h1><p><strong>From CXF 2.6.1 and 
2.5.4:</strong></p><p>It is possible to configure the in encryption and 
signature handlers with the properties restricting the encryption and signature 
algorithms that clients can use, for example:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The "security.encryption.username" server property is set to 
"useReqSigCert".</p><p>Note that the client configuration assumes Alice (with 
its alice.properties) represents a given client, Bob (with its bob.properties) 
- the receiver/server.</p><p>On the server side the encryption properties point 
to alice.properties and signature.properties to bob.properties. This is because 
the outbound signature needs to be done with the Bob's certificate and the 
encryption - with either the specific Alice's certificate or the certificate 
from the inbound signature. Note that the in encryption handler will check the 
signature properties first - this will ensure that the Bob's certificate used 
to encrypt the data on the client side can be validated, similarly for the in 
signature handler.</p><h2 
id="JAX-RSXMLSecurity-Customizingtheencryption">Customizing the 
encryption</h2><p>org.apache.cxf.rs.security.xml.XmlEncOutInterceptor manages 
the encryption process.<br clear="none"> The foll
 owing properties can be set on it at the moment:<br clear="none"> 
"symmetricEncAlgorithm": default is 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";, complete URIs or short 
identifiers are supported, for example, "aes128-cbc" or 
"http://www.w3.org/2001/04/xmlenc#aes256-cbc";. <br clear="none"> 
"digestAlgorithm": optional, example "http://www.w3.org/2001/04/xmlenc#sha256"; 
can be set.<br clear="none"> "keyEncAlgorithm": default is 
"http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";<br clear="none"> 
"keyIdentifierType": default is "X509_KEY", "X509_ISSUER_SERIAL" is also 
supported - useful when the whole x509Certificate should not be embedded</p><h2 
id="JAX-RSXMLSecurity-GCMAlgorithmandBouncyCastleprovider">GCM Algorithm and 
BouncyCastle provider</h2><p>Please see Colm's <a shape="rect" 
class="external-link" 
href="http://coheigea.blogspot.com/2012/04/note-on-cve-2011-1096.html"; 
rel="nofollow">blog</a> for the information about the possible attack against 
XML Encryption and the GCM algorith
 m which needs to be used in order to prevent it.</p><h1 
id="JAX-RSXMLSecurity-Restrictingencryptionandsignaturealgorithms">Restricting 
encryption and signature algorithms</h1><p><strong>From CXF 2.6.1 and 
2.5.4:</strong></p><p>It is possible to configure the in encryption and 
signature handlers with the properties restricting the encryption and signature 
algorithms that clients can use, for example:</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;bean id=&quot;sigProps&quot; 
class=&quot;org.apache.cxf.rs.security.xml.SignatureProperties&quot;&gt;
        &lt;property name=&quot;signatureAlgo&quot; 
                  
value=&quot;http://www.w3.org/2000/09/xmldsig#rsa-sha1&quot;/&gt;


Reply via email to