Apache Rampart/C Installation Guide

This document guides you on how to install Rampart/C.

You must have OpenSSL 0.9.8 (or above) installed in you system.

This release comes in two forms, source and binary. This document covers both forms.

Please send your feedback to the developer mailing list: rampart-c-dev@ws.apache.org (Subscription details are available on the Rampart/C site.

Contents

1. Installing and Running on Linux

This can be done using binary or source distributions. (Download the two distributions)

1.1. Installing the Binary Distribution

The following steps have to be followed to install and run the Rampart/C binary distribution on Linux :

  1. Extract the binary tar package to a folder.
  2. Set the WSFC_HOME environment variable pointing to the location where you have extracted Axis2/C
    • WSFC_HOME='/your_path_to_axis2c'
    • export WSFC_HOME
  3. Copy modules/rampart to $WSFC_HOME/modules
  4. Engage Rampart/C as specified in the section Engage Rampart/C with Axis2/C
  5. Start the server and run the client to consume the secured service

1.2. Installing the Source Distribution

The following steps have to be followed to install and run Rampart/C using the source distribution on Linux :

  1. Extract the source tar package to a folder.
  2. Set the WSFC_HOME environment variable pointing to the location where you want to install Axis2/C
  3. Then go to the folder where you extracted the source.
  4. Build the source
  5. Engage Rampart/C as specified in the section Engage Rampart/C with Axis2/C
  6. Start the server and run the client to consume the secured service

2. Installing and Running on Microsoft Windows

This too can be done using binary or source distributions. (Download the two distributions.)

2. 1. Installing the Binary Distribution

  1. Extract the binary distribution to a folder of your choice. (example: C:\rampartc).
  2. Copy modules/rampart to %WSFC_HOME%\modules.
  3. Engage Rampart/C as specified in the section Engage Rampart/C with Axis2/C.
  4. Start the axis2_http_server and run the echo client in the samples/client/sec_echo to consume the secured service.

2. 2. Installing Source Distribution

2.2.1. Requirements

2.2.2. Compiling the Source

The following steps will take you through the source compilation.

Engage Rampart/C with axis2/C

You can engage Rampart/C in global level or in service level.

Just add the following entry either to axis2.xml(gloabl level) or in services.xml(service level) corresponding to the service you want to secure.

   
 <module ref="rampart"/>

Apart from that you must define security policies for outgoing messages and incoming messages. This can be done by adding parameters in the same descriptor file that you engaged rampart as follows.

    
 <parameter name="OutflowSecurityPolicy">/your/path/to/outgoing-secpolicy.xml</parameter>
 <parameter name="InflowSecurityPolicy">/your/path/to/incoming-secpolicy.xml</parameter>

NOTE: There are several sample security policy xml files for different scenarios under samples/secpolicy/. Please refer to the README file inside this folder for more information.

The final configuration setup should be as follows:

CLIENT SIDE:

In axis2.xml

    
 <module ref="rampart"/>
 <parameter name="OutflowSecurityPolicy">/../../outgoing-secpolicy.xml</parameter>
 <parameter name="InflowSecurityPolicy">/../../incoming-secpolicy.xml</parameter>
SERVER SIDE:

In services.xml(or axis2.xml)

    
 <module ref="rampart"/>
 <parameter name="OutflowSecurityPolicy">/../../outgoing-secpolicy.xml</parameter>
 <parameter name="InflowSecurityPolicy">/../../incoming-secpolicy.xml>/parameter>

NOTE: Please find sample security policy files that are located under samples/secpolicy

You may go to each and every scenario and see how Rampart/C is configured using the policy assertions available in respective policy files.
For each scenario there are four policy files:

  1. client-outgoing-secpolicy.xml : Defines what the security configurations are for outgoing messages from the client
  2. service-incoming-secpolicy.xml : Defines what the security configurations are for incoming messages to the server
  3. service-outgoing-secpolicy.xml : Defines what the security configurations are for outgoing messages from the server
  4. client-incoming-secpolicy.xml : Defines what the security configurations are for incoming messages to the client

NOTE: If you have changed an outgoing policy file, make sure that you change the corresponding incoming policy file as well, and vise versa.