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

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

<p>Apache Rampart 1.1 introduces a new configuration model based on WS-Policy 
and WS-Security Policy and it is important to note that Apache Rampart 1.0 style 
configuration is now deprecated and will not be available in next major version.
</p>

<p>Apache Rampart 1.1 can be successfully used with the next Apache Sandesha2 
release targeted towards Apache Axis2 1.1 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 spec - EXPERIMENTAL </li>
</ul>




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

<p></p>

<p>Apache Rampart team</p>

<p></p>

<p></p>

<p></p>

<p></p>

<p></p>

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