blob: 73565fb86fce159b09870f1e932d90c3d4985fc0 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<document>
<properties>
<title>Apache Rampart Samples</title>
</properties>
<head>
</head>
<body>
<h1>Rampart Samples</h1>
<h2> Basic samples </h2>
<p>These samples use parameter based configuration model. This will be a great starting point to get a basic understanding of how WS Security really works. </p>
<h2> Policy samples </h2>
<p>These samples use WS Security Policy Language for configuration. It is recommended to use policy based configuration model for all production scenarios </p>
<h3>Running Samples</h3>
<p>Before beginning, please install Rampart as described <a href="quick-start.html">here</a>.</p>
<p>Now we'll look at how to run the first sample inside samples/policy folder.</p>
<ol>
<li>Open a console and change the directory to sample/policy and give the following command. This will start the server at port 8080</li>
<pre>
<code>$ant service.01</code>
</pre>
<li>Open a new console and change the directory to sample/policy and type the following command.</li>
<pre>
<code>$ant client.01</code>
</pre>
</ol>
<p>Congratulations! Now you have executed the first sample. Rest of the samples can be run by changing the sample number.</p>
<br></br>
<br></br>
<h3>Samples</h3>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 01</td></tr>
<tr/>
</tbody>
</table>
<div style="margin-left:2px;margin-right:-2px;">UsernameToken Authentication, The policy uses a TransportBinding and requires a SignedSupportingToken which
is a UsernameToken and the inclusion of a TimeStamp. </div>
<ul>
<li><a href="samples/policy/sample01.xml">Policy</a></li>
<li><a href="samples/msgs/req01.xml">Request Message</a></li>
<li><a href="samples/msgs/res01.xml">Response Message</a></li>
</ul>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 02</td></tr>
<tr/>
</tbody>
</table>
<div class="b" style="margin-left:2px;margin-right:-2px;">Sign only, An AsymmetricBinding is used. Entire headers and body to be signed.
Algorithm suite is TripleDesRsa15.</div>
<ul>
<li><a href="samples/policy/sample02.xml">Policy</a></li>
<li><a href="samples/msgs/req02.xml">Request Message</a></li>
<li><a href="samples/msgs/res02.xml">Response Message</a></li>
</ul>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 03</td></tr>
<tr/>
</tbody>
</table>
<div class="b" style="margin-left:2px;margin-right:-2px;">Sign and Encrypt messages, An AsymmetricBinding is used. Entire headers and body to be signed.
EncryptionParts specifies the Body to be encrypted. </div>
<ul>
<li><a href="samples/policy/sample03.xml">Policy</a></li>
<li><a href="samples/msgs/req03.xml">Request Message</a></li>
<li><a href="samples/msgs/res03.xml">Response Message</a></li>
</ul>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 04</td></tr>
<tr/>
</tbody>
</table>
<div class="b" style="margin-left:2px;margin-right:-2px;">SecureConversation , The secure session is bootstrapped using a SymetricBinding which uses derived keys based on an ephemeral key.
Messages in the secure conversation includes a timestamp, all headers are signed along with the timestamp, signature encrypted and body encrypted.</div>
<ul>
<li><a href="samples/policy/sample04.xml">Policy</a></li>
<li><a href="samples/msgs/rst04.xml">Bootstrap request (RST)</a></li>
<li><a href="samples/msgs/rstr04.xml">Bootstrap response (RSTR)</a></li>
<li><a href="samples/msgs/req04.xml">Request Message</a></li>
<li><a href="samples/msgs/res04.xml">Response Message</a></li>
<li><a href="samples/msgs/creq04.xml">Cancel request </a></li>
<li><a href="samples/msgs/cres04.xml">Cancel response</a></li>
</ul>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 05</td></tr>
<tr/>
</tbody>
</table>
<div class="b" style="margin-left:2px;margin-right:-2px;">WS-Trust - RST - Resquest Security Token Service - Issuing a SAML token - issuing a token </div>
<ul>
<li><a href="samples/policy/sample05.xml">Policy</a></li>
<li><a href="samples/msgs/req05.xml">Request Message</a></li>
<li><a href="samples/msgs/res05.xml">Response Message</a></li>
</ul>
<br></br>
<table class="bodyTable">
<tbody>
<tr class="a"><td>Sample 06</td></tr>
<tr/>
</tbody>
</table>
<div class="b" style="margin-left:2px;margin-right:-2px;">WS-Trust ( With WS Metada Exchange) - RST - Resquest Security Token Service - Issuing a SAML token </div>
<ul>
<li><a href="samples/policy/sample01.xml">Policy</a></li>
<li><a href="samples/msgs/req06.xml">Request Message</a></li>
<li><a href="samples/msgs/res06.xml">Response Message</a></li>
</ul>
</body>
</document>