<?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.5.1 release of Apache Rampart.</p>

<p>Apache Rampart 1.5.1 is a toolkit that provides implementations of the WS-Sec*
specifications for Apache Axis2 1.5.1, based on Apache WSS4J 1.5.10 and 
the Apache AXIOM-DOOM 1.2.10 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.5.1.mar</li>
This provides support for WS-Security and WS-SecureConversation features.
<li>rahas-1.5.1.mar</li>
This module provides the necessary components to enable SecurityTokenService 
functionality on a service.
</ul>

<p>Apache Rampart 1.5.1 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.5.1 can be successfully used with the next Apache Sandesha2 1.4
release targeted towards Apache Axis2 1.5.4 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>
