| <!-- |
| ~ 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> |