Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The DefaultCryptoCoverageChecker now contains boolean properties to easily check if a WSS UsernameToken was signed and/or encrypted. The default is now that a UsernameToken must be encrypted.
  • CXF 3.0.x picks up a new major version of Apache WSS4J (2.0.0). There are some changes in this release which will impact on existing CXF users. These changes are extensively summarized in the WSS4J 2.0.0 Migration Guide. The major changes are as follows:
    • If you have implemented a CallbackHandler to set/retrieve passwords for UsernameTokens/Signatures/Decryption/etc., then the namespace of the WSPasswordCallback Object has changed from "org.apache.ws.security" to "org.apache.wss4j.common.ext".
    • If you have implemented a CallbackHandler to create SAML Assertions, then the namespace of the SAML bean objects has changed from "org.apache.ws.security.saml.ext" to "org.apache.wss4j.common.saml". 
    • WSS4J 1.6.x used a saml properties file to sign a SAML Assertion. This has been removed in WSS4J 2.0.0. Instead the SAMLCallback Object contains additional properties that can be set to sign the Assertion. Please see the section entitled "SAML Assertion changes" in the WSS4J 2.0.0 Migration Guide for more information on this.
    • A small number of configuration tags have been removed in WSS4J 2.0.0. Please see the section entitled "Removed Configuration Tags in WSS4J 2.0.0" in the WSS4J 2.0.0 Migration Guide for more information on this.
    • The default namespace for derived keys and secure conversation is now  "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512". The older namespace can be used instead via a new configuration tag.
    • The RSA v1.5 Key Transport algorithm is no longer allowed by default. This can be changed via a configuration tag.
    • Turning off BSP (Basic Security Profile) Compliance (Basic Security Profile) on the outbound side no longer has the effect of disabling the addition of a InclusiveNamespaces PrefixList when signing a portion of the message. This is now controlled by a separate configuration tag in WSS4J 2.0.0.
  • In addition to the changes above, CXF 3.0.0 fully supports the new streaming (StAX-based) WS-Security implementation in WSS4J 2.0.0.
  • To switch to use the streaming code for the manual "Action" based approach, simply change the outbound and inbound interceptors as follows:
    • "org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor" to "org.apache.cxf.ws.security.wss4j.WSS4JStaxOutInterceptor".
    • "org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor" to "org.apache.cxf.ws.security.wss4j.WSS4JStaxInInterceptor".
  • For the WS-SecurityPolicy based approach of configuring WS-Security, simply set the JAX-WS property SecurityConstants.ENABLE_STREAMING_SECURITY ("ws-security.enable.streaming") to "true". For more information on the streaming functionality available in WSS4J 2.0.0, please see the streaming documentation page of WSS4J.

WS-ReliableMessaging

  • The WS-RM subsystem has been updated to more completely implement the 1.1 specification.  
  • Closing a client proxy via ((Closable)proxy).close() will now terminate open sequences.

Major dependency changes

  • Spring 3.2 or newer is required.   The calls to the API's that were deprecated in Spring 3.x have been removed.  This allows CXF 3.0 to work with Spring 4, but means it can no longer with with Spring 2.5.

...