<?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>
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <title>The Security Module for Apache Axis2/C</title>
</head>

<body xml:lang="en">
<h1>Welcome to Apache Rampart/C</h1>

<p>Apache Rampart/C is the security module for <a href="http://ws.apache.org/axis2/c/">Apache Axis2/C</a>. It features in many ways to protect SOAP messages exchanged. This includes SOAP message encryption and signature as specified in <a href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf">WS-Security Specification</a>. In addition Apache Rampart/C configurations are based on security policy assertions as per <a href="http://specs.xmlsoap.org/ws/2005/07/securitypolicy/ws-securitypolicy.pdf">WS-Security Policy specificatoin</a></p>

<h2>Why Apache Rampart/C ?</h2>
<p>In distributed computing, web services play a crucial role. But as many distributed systems web services are also vulnerable for security threats. Developers are always struggling to ensure the integrity, confidentiality of messages. Implementing the right security solution can be an expensive and time consuming task. Rampart/C makes the life easier for those who uses Axis2/C, by providing a configurable security module, which protect SOAP messages from such threats.
</p>

<h2>Latest Release</h2>

<h3>25th Apr 2008 - Apache Rampart/C Version 1.2.0 Released</h3>
<a href="http://ws.apache.org/rampart/c/download.cgi">Download 1.2</a>

<h4>Key Features</h4>
<ol>
<li>Ability to send and verify UsernameTokens with
    <ul> 
    <li>Username and PlainText password
    <li>Username and Digested password
    </ul>
<li>Ability to send Timestamp tokens
<li>SOAP message encryption
    <ul>
    <li> With derived key support for improved security
    <li> Symmetric and Asymmetric modes of operations
    <li> Support for AES and Tripple DES encryption
    <li> Signature encryption
    <li> Keys encryption
    </ul>
<li>SOAP message signature
    <ul>
    <li> XML signature with RSA-SHA1
    <li> Message authentication with HMAC-SHA1
    <li> Signature confirmation support
    <li> SOAP Header signing
    </ul>
<li>WS-Security Policy (spec 1.1) based configurations
    <ul>
    <li> Support for both Symmetric as well as Asymmetric policy bindings
    <li> Support for different modes of key identifiers
    <li> Support for different algorithm suites<br>
        [Basic128, Basic 192, Basic256, TrippleDES, Basic128Rsa15, Basic192Rsa15,Basic256Rsa15, TripleDesRsa15]
     </ul>
<li>Replay detection support
    <ul>
    <li> Easy to use built-in replay detection module
    <li> Ability to deploy a customized replay detection module
    </ul>
<li>Different protection orders
    <ul>
    <li> Encrypt before signing
    <li> Sign before encrypting
    </ul>
<li>Extensible modules
    <ul>
    <li> Password callback module
    <li> Authentication module
    <li> Credentials module
    </ul>
<li>Keys management
    <ul>
    <li> Support for X509 token profile
    <li> Support for Key identifiers, Thumb prints, Issuer/Serial pairs, Embedded and Direct references
    </ul>
<li> WS-Secure Conversation Language support (Experimental)
    <ul>
    <li> Establishing Security Context and thereby maintaining a session
    <li> Per message key derivation
    <li> Support for stored securtiy context token
    </ul>
<li> WS-Trust Language support (Experimental)
    <ul>
    <li> Security Token Services (STS)
    <li> STS Client
    <li> Server and Client entrophy support
    </ul>
<li>Other
    <ul>
    <li> Easy to use deployment scripts
    <li> A comprehensive set of samples
    </ul>
</ol>
<h4>Major Changes Since Last Release</h4>
<p>
<ol>
    <li> WS-Secure Conversation Language support (Experimental)
    <li> WS-Trust Language support (Experimental)
    <li> SAML Support
    <li> Memory leak fixes</li>
    <li> Many bug fixes</li>
 </ol>
</p>
<h4>Archived News</h4>
    <p>News on 
      <a href='archived_news.html'>previous Rampart/C releases</a>.
    </p>
</body>
</html>
