<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <title>Apache Rampart - Release Notes</title>
  <meta name="generator" content="amaya 9.2.2, see http://www.w3.org/Amaya/"
  />
</head>

<body>
<h1>Apache Rampart Release Notes</h1>

<p>This is the 1.6.0 release of Apache Rampart.</p>

<p>Apache Rampart 1.6.0 is a toolkit that provides implementations of the WS-Sec*
specifications for Apache Axis2 1.6.0, based on Apache WSS4J 1.5.11 and 
the Apache AXIOM-DOOM 1.2.11 implementation.</p>

<b>What is in this release</b>

<p>There are two main Apache Axis2 modules provided with this release.</p> 
<ul>
<li>rampart-1.6.0.mar</li>
This provides support for WS-Security and WS-SecureConversation features.
<li>rahas-1.6.0.mar</li>
This module provides the necessary components to enable SecurityTokenService 
functionality on a service.
</ul>

<p>Apache Rampart 1.6.0 uses a configuration model based on WS-Policy 
and WS-Security Policy and it is important to note that Apache Rampart 1.0 style 
configuration is also available even though being marked as deprecated.
</p>

<p>Apache Rampart 1.6.0 can be successfully used with the next Apache Sandesha2 1.6.0
release targeted towards Apache Axis2 1.6.0 to configure
WS-SecureConversation + WS-ReliableMessaging scenarios.</p>
<p>
The rampart module was successfully tested for interoperability with other
WS-Security implementations.</p>

<p>WS - Sec* specifications supported by Apache Rampart are as follows:</p>

<ul>
<li>WS - Security 1.0</li>
<li>WS - Secure Conversation - February 2005</li>
<li>WS - Security Policy - 1.1 - July 2005</li>
<li>WS - Trust - February 2005</li>
<li>WS - Trust - WS-SX specification</li>
<li>SAML Specification - 1.1 </li>
<li>SAML Specification - 2.0 </li>
</ul>




<p>Thank you for using Apache Rampart.</p>

<p></p>

<p>Apache Rampart Team</p>

<p></p>
</body>
</html>
