Apache WSS4J 2.2.0 Migration Guide

This page is a migration guide for helping Apache WSS4J 2.1.x users to migrate to the 2.2.x releases.

JDK8 minimum requirement

WSS4J 2.1.x required JDK7 as a minimum requirement. WSS4J 2.2.x requires at least JDK8.

Base64 changes

In WSS4J 2.1.x, the Base64 implementation that ships with the JDK (java.util.Base64) is used, instead of the Base64 implementation that ships with Apache Santuario. It is unlikely, but this may have an impact on users who are parsing messages with Base64 implementations that depend on specific CR or LF characters, as the Santuario and Java Base64 implementations differ slightly. Both the Apache Santuario and Java Base64 implementations can correctly decode the messages created with Apache WSS4J 2.2.x.

Kerberos changes

There are some changes with regards to Kerberos in WSS4J 2.1.x. The KerberosClientAction and KerberosServiceAction classes are removed. Instead use KerberosClientExceptionAction and KerberosServiceExceptionAction in the same package. The KerberosTokenDecoderImpl is removed as we can now get access to the secret key via the JDK APIs. As a consequence, the ws-security-common module no longer has a dependency on Apache Directory.