You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2012/12/04 13:49:58 UTC
svn commit: r1416918 [14/47] - in /webservices/wss4j/site: ./ apidocs/
apidocs/org/apache/ws/security/ apidocs/org/apache/ws/security/action/
apidocs/org/apache/ws/security/action/class-use/
apidocs/org/apache/ws/security/cache/ apidocs/org/apache/ws/s...
Modified: webservices/wss4j/site/axis.html
URL: http://svn.apache.org/viewvc/webservices/wss4j/site/axis.html?rev=1416918&r1=1416917&r2=1416918&view=diff
==============================================================================
--- webservices/wss4j/site/axis.html (original)
+++ webservices/wss4j/site/axis.html Tue Dec 4 12:48:10 2012
@@ -1,17 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-
-
-
-
-
-
-
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Nov 26, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Apache WSS4J - </title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@@ -19,139 +10,86 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- </head>
+ <meta name="Date-Revision-yyyymmdd" content="20121126" />
+ <meta http-equiv="Content-Language" content="en" />
+
+ </head>
<body class="composite">
<div id="banner">
- <a href="" id="bannerLeft">
-
- Apache WSS4J
-
- </a>
- <a href="http://www.apache.org" id="bannerRight">
-
- <img src="http://activemq.apache.org/images/asf-logo.png" alt="" />
-
- </a>
+ <a href="./" id="bannerLeft">
+ Apache WSS4J
+ </a>
+ <a href="http://www.apache.org" id="bannerRight">
+ <img src="http://activemq.apache.org/images/asf-logo.png" alt="$alt" />
+ </a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
-
-
-
-
-
-
-
-
- <div class="xleft">
- Last Published: 2012-07-25
+
+
+ <div class="xleft">
+ <span id="publishDate">Last Published: 2012-11-26</span>
+ | <span id="projectVersion">Version: 1.6.8</span>
</div>
- <div class="xright">
-
-
-
-
-
-
-
- </div>
+ <div class="xright">
+
+ </div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
-
-
-
-
-
-
-
-
- <h5>Apache WSS4J</h5>
- <ul>
-
- <li class="none">
- <a href="index.html">Home</a>
- </li>
-
- <li class="none">
- <a href="download.html">Download</a>
- </li>
-
- <li class="none">
- <a href="using.html">Using WSS4J</a>
- </li>
-
- <li class="none">
- <a href="config.html">WSS4J Configuration</a>
- </li>
-
- <li class="none">
- <a href="topics.html">Special Topics</a>
- </li>
-
- <li class="none">
- <a href="wss4j16.html">WSS4J 1.6 Release Notes</a>
- </li>
- </ul>
- <h5>Project Documentation</h5>
- <ul>
-
-
-
-
-
-
-
-
-
-
-
-
-
- <li class="collapsed">
- <a href="project-info.html">Project Information</a>
- </li>
-
-
-
-
-
-
+
-
-
-
-
-
-
- <li class="collapsed">
- <a href="project-reports.html">Project Reports</a>
- </li>
+ <h5>Apache WSS4J</h5>
+ <ul>
+ <li class="none">
+ <a href="index.html" title="Home">Home</a>
+ </li>
+ <li class="none">
+ <a href="download.html" title="Download">Download</a>
+ </li>
+ <li class="none">
+ <a href="using.html" title="Using WSS4J">Using WSS4J</a>
+ </li>
+ <li class="none">
+ <a href="config.html" title="WSS4J Configuration">WSS4J Configuration</a>
+ </li>
+ <li class="none">
+ <a href="topics.html" title="Special Topics">Special Topics</a>
+ </li>
+ <li class="none">
+ <a href="best_practice.html" title="Security Best Practices">Security Best Practices</a>
+ </li>
+ <li class="none">
+ <a href="wss4j16.html" title="WSS4J 1.6 Release Notes">WSS4J 1.6 Release Notes</a>
+ </li>
</ul>
- <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
- <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
- </a>
-
-
-
-
-
-
-
-
- </div>
+ <h5>Project Documentation</h5>
+ <ul>
+ <li class="collapsed">
+ <a href="project-info.html" title="Project Information">Project Information</a>
+ </li>
+ <li class="collapsed">
+ <a href="project-reports.html" title="Project Reports">Project Reports</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+ </a>
+
+
+ </div>
</div>
<div id="bodyColumn">
<div id="contentBox">
- <div class="section"><h2><a name="Axis1_Deployment_Tutorial"></a>Axis1 Deployment Tutorial</h2>
-<div class="section"><h3><a name="Introduction"></a>Introduction</h3>
-WSS4J 1.5.x can be used for securing web
+
+
+<div class="section"><h2>Axis1 Deployment Tutorial<a name="Axis1_Deployment_Tutorial"></a></h2>
+<div class="section"><h3>Introduction<a name="Introduction"></a></h3>WSS4J 1.5.x can be used for securing web
services deployed in virtually any application server, but it includes
special support for Axis. WSS4J 1.5.x ships with handlers that can be used in
Axis-based web
@@ -159,401 +97,383 @@ services for an easy integration. These
service deployment
descriptor (wsdd file) to add a WS-Security layer to the web service.
This is a step by step tutorial for deploying a simple service with
-Username Token.<br />
-</br><br />
-</br></div>
-<div class="section"><h3><a name="Prerequisites"></a>Prerequisites</h3>
-<a class="externalLink" href="http://ws.apache.org/axis/">Axis
-1.2</a> installed and configured on a <a class="externalLink" href="http://jakarta.apache.org/tomcat/">Tomcat Server</a>. This
+Username Token.<br /></br>
+<br /></br></div><div class="section"><h3>Prerequisites<a name="Prerequisites"></a></h3><a class="externalLink" href="http://ws.apache.org/axis/">Axis
+1.2</a> installed and configured on a <a class="externalLink" href="http://jakarta.apache.org/tomcat/">Tomcat Server</a>.  This
tutorial was performed on a Linux machine with Tomcat 5.5.4/Java 1.5.0,
however, the setup should be similar on other application servers, or
-other operating systems (like Windows) unless we stated otherwise.<br />
-</br></div>
-<div class="section"><h3><a name="Steps"></a>Steps</h3>
+other operating systems (like Windows) unless we stated otherwise.<br /></br>
</div>
-<div class="section"><h3><a name="Installing_WSS4J"></a>Installing WSS4J</h3>
-<ol type="1"><li>Download the WSS4J binaries or build it from sources<br />
-</br></li>
-<li>Copy the contents of the WSS4J lib directory to your Axis
+<div class="section"><h3>Steps<a name="Steps"></a></h3></div>
+<div class="section"><h3>Installing WSS4J<a name="Installing_WSS4J"></a></h3>
+<ol style="list-style-type: decimal">
+ <li>Download the WSS4J binaries or build it from sources<br /></br>
+ </li>
+ <li>Copy the contents of the WSS4J lib directory to your Axis
WEB-INF/lib directory. Many jar files will already exist. Most of them
will already exist there but you can just overwrite them all.</li>
-<li>You may need to restart Tomcat unless you have automatic
+ <li>You may need to restart Tomcat unless you have automatic
deployment/class loading turned on. Check the Axis Happiness Page
(typically at http://localhost:8080/axis), make sure that the XML
Security (xmlsec.jar) is listed under the "Optional Components" section.</li>
</ol>
-<h4>Creating the Service</h4>
-<ol type="1"><li>This tutorial will secure the StockQuoteService which ships
+<div class="section"><h4>Creating the Service<a name="Creating_the_Service"></a></h4>
+<ol style="list-style-type: decimal">
+<li>This tutorial will secure the StockQuoteService which ships
with Axis. Unless you have one already, create a deployment descriptor
(deploy.wsdd) file with the following contents:</li>
</ol>
-<ol type="1"><br />
-</br><span style="color: rgb(0, 0, 153);"><deployment
+<ol style="list-style-type: decimal">
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);"><deployment
xmlns="http://xml.apache.org/axis/wsdd/"
-xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <service
+xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> <service
name="stock-wss-01" provider="java:RPC" style="document"
-use="literal"></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="className" value="samples.stock.StockQuoteService"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="allowedMethods" value="getQuote"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="scope" value="application"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> </service></span><br />
-</br><span style="color: rgb(0, 0, 153);"></deployment><br />
-</br><br />
-</br></span><li>deploy the service (using AxisAdmin):</li>
+use="literal"></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="className" value="samples.stock.StockQuoteService"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="allowedMethods" value="getQuote"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="scope" value="application"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> </service></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"></deployment><br /></br>
+ <br /></br>
+ </span><li>deploy the service (using AxisAdmin):</li>
</ol>
-<ol type="1"><span style="color: rgb(0, 0, 153);">java
+<ol style="list-style-type: decimal">
+ <span style="color: rgb(0, 0, 153);">java
org.apache.axis.client.AdminClient
--lhttp://localhost:8080/axis/services/AdminService deploy.wsdd<br />
-</br></span></ol>
-<h4>Creating the Client</h4>
-<ol type="1"><li>Use WSDL2Java to generate the client service bindings:<br />
-</br><span style="color: rgb(0, 0, 153);">java
+-lhttp://localhost:8080/axis/services/AdminService deploy.wsdd<br /></br>
+ </span>
+</ol>
+</div><div class="section"><h4>Creating the Client<a name="Creating_the_Client"></a></h4>
+<ol style="list-style-type: decimal">
+ <li>Use WSDL2Java to generate the client service bindings:<br /></br>
+ <span style="color: rgb(0, 0, 153);">java
org.apache.axis.wsdl.WSDL2Java -o .
-Nhttp://fox:8080/axis/services/stock-wss-01 samples.stock.client
-http://fox:8080/axis/services/stock-wss-01?wsdl</span><br />
-</br><br />
-</br>
+http://fox:8080/axis/services/stock-wss-01?wsdl</span><br /></br>
+ <br /></br>
A bunch of java classes will be created under samples/stock/client,
-including the StockQuoteServiceServiceLocator.<br />
-</br><br />
-</br></li>
-<li>Write a simple java client that uses the generated service
-locator. For example:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">package samples.stock.client;</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">import
-java.rmi.RemoteException;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.xml.rpc.ServiceException;</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">public class
-StockServiceClient {</span><br />
-</br><span style="color: rgb(0, 0, 153);"> public
-StockServiceClient() {</span><br />
-</br><span style="color: rgb(0, 0, 153);"> }</span><br />
-</br><span style="color: rgb(0, 0, 153);"> public
+including the StockQuoteServiceServiceLocator.<br /></br>
+ <br /></br>
+ </li>
+ <li>Write a simple java client that uses the generated service
+locator. For example:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">package samples.stock.client;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+java.rmi.RemoteException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.xml.rpc.ServiceException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">public class
+StockServiceClient {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    public
+StockServiceClient() {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    }</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    public
static void main(String[] args) throws ServiceException,
-RemoteException {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-if (args.length == 0) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-System.out.println("Usage:\njava StockServiceClient [symbol]");</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-return;</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);">
+RemoteException {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+if (args.length == 0) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+System.out.println("Usage:\njava StockServiceClient [symbol]");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+return;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
StockQuoteServiceService locator = new
-StockQuoteServiceServiceLocator();</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-StockQuoteService service = locator.getStockWss01();</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-float quote = service.getQuote(args[0]);</span><br />
-</br><span style="color: rgb(0, 0, 153);">
+StockQuoteServiceServiceLocator();</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+StockQuoteService service = locator.getStockWss01();</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+float quote = service.getQuote(args[0]);</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
System.out.println("stock quote service returned " + args[0] + ": " +
-quote);</span><br />
-</br><span style="color: rgb(0, 0, 153);"> }</span><br />
-</br><span style="color: rgb(0, 0, 153);">}</span><br />
-</br><br />
-</br></li>
-<li>run the client:<br />
-</br><span style="color: rgb(0, 0, 153);">java
-samples.stock.client.StockServiceClient IBM</span><br />
-</br><br />
-</br>
-If all went well, you should get the result:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);"></span><span style="color: rgb(0, 0, 153);">stock quote service returned IBM: 95.68</span><br />
-</br><span style="color: rgb(0, 0, 153);"><br />
-</br></span></li>
+quote);</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    }</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">}</span><br /></br>
+ <br /></br>
+ </li>
+ <li>run the client:<br /></br>
+ <span style="color: rgb(0, 0, 153);">java
+samples.stock.client.StockServiceClient IBM</span><br /></br>
+ <br /></br>
+If all went well, you should get the result:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);"></span> <span style="color: rgb(0, 0, 153);">stock quote service returned IBM: 95.68</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"><br /></br>
+ </span></li>
</ol>
-<h3>Username Token</h3><h4>Configuring the Service<br />
-</br></h4>
-<ol type="1"><li>Modify the deployment descriptor you created above to look like
-this:<br />
-</br><span style="color: rgb(0, 0, 153);"><deployment
+</div></div><div class="section"><h3>Username Token<a name="Username_Token"></a></h3>
+<div class="section"><h4>Configuring the Service<br /></br>
+<a name="Configuring_the_Service"></a></h4>
+<ol style="list-style-type: decimal">
+ <li>Modify the deployment descriptor you created above to look like
+this:<br /></br>
+ <span style="color: rgb(0, 0, 153);"><deployment
xmlns="http://xml.apache.org/axis/wsdd/"
-xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <service
+xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> <service
name="stock-wss-01" provider="java:RPC" style="document"
-use="literal"></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;">
-<requestFlow></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;">
-<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;">
-<parameter name="passwordCallbackClass" value="PWCallback"/></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;">
-<parameter name="action" value="UsernameToken"/></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;"></span><span style="color: rgb(0, 0, 153); font-weight: bold;">
-</handler></span><br />
-</br><span style="color: rgb(0, 0, 153); font-weight: bold;">
-</requestFlow></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="className" value="samples.stock.StockQuoteService"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="allowedMethods" value="getQuote"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> <parameter
-name="scope" value="application"/></span><br />
-</br><span style="color: rgb(0, 0, 153);"> </service></span><br />
-</br><span style="color: rgb(0, 0, 153);"></deployment><br />
-</br><br />
-</br></span>WSDoAllReceiver is an Axis handler that can be located in
+use="literal"></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;"> 
+<requestFlow></span><br style="color: rgb(0, 0, 153); font-weight: bold;" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;">  
+<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"></span><br style="color: rgb(0, 0, 153); font-weight: bold;" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;">   
+<parameter name="passwordCallbackClass" value="PWCallback"/></span><br style="color: rgb(0, 0, 153); font-weight: bold;" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;">   
+<parameter name="action" value="UsernameToken"/></span><br style="color: rgb(0, 0, 153); font-weight: bold;" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;"></span><span style="color: rgb(0, 0, 153); font-weight: bold;">  
+</handler></span><br style="color: rgb(0, 0, 153); font-weight: bold;" /></br>
+ <span style="color: rgb(0, 0, 153); font-weight: bold;"> 
+</requestFlow></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="className" value="samples.stock.StockQuoteService"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="allowedMethods" value="getQuote"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">  <parameter
+name="scope" value="application"/></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> </service></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"></deployment><br /></br>
+ <br /></br>
+ </span>WSDoAllReceiver is an Axis handler that can be located in
wss4j.jar. This is the standard way to deploy an Axis handler. For more
-details please refer to the Axis handler for WSS4J documentation.<br />
-</br><br />
-</br></li>
-<li>Create a class named PWCallback.java and compile it into your
+details please refer to the Axis handler for WSS4J documentation.<br /></br>
+ <br /></br>
+ </li>
+ <li>Create a class named PWCallback.java and compile it into your
Axis WEB-INF/classes directory. In this example I used the default
package for simplicity, but you might need to use the fully qualified
class name (be consistent
-with the deployment descriptor).<br />
-</br><br />
-</br>
-The following code snippet shows a simple password callback class:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">import java.io.IOException;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.Callback;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.CallbackHandler;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.UnsupportedCallbackException;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-org.apache.ws.security.WSPasswordCallback;</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">public class PWCallback
-implements CallbackHandler {</span><span style="color: rgb(0, 0, 153);"></span><span style="color: rgb(0, 0, 153);"></span><br />
-</br><span style="color: rgb(0, 0, 153);"> public void
+with the deployment descriptor).<br /></br>
+ <br /></br>
+The following code snippet shows a simple password callback class:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">import java.io.IOException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.Callback;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.CallbackHandler;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.UnsupportedCallbackException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+org.apache.ws.security.WSPasswordCallback;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">public class PWCallback
+implements CallbackHandler {</span><span style="color: rgb(0, 0, 153);"></span><span style="color: rgb(0, 0, 153);"></span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    public void
handle(Callback[] callbacks)</span><span style="color: rgb(0, 0, 153);">
-throws IOException, UnsupportedCallbackException {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-for (int i = 0; i < callbacks.length; i++) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-if (callbacks[i] instanceof WSPasswordCallback) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];<br />
-</br>
-
-// set the password given a username<br />
-</br></span>
+throws IOException, UnsupportedCallbackException {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+for (int i = 0; i < callbacks.length; i++) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+if (callbacks[i] instanceof WSPasswordCallback) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];<br /></br>
+               
+// set the password given a username<br /></br>
+ </span>               
<span style="color: rgb(0, 0, 153);">if
-("wss4j".equals(pc.getIdentifier())) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-pc.setPassword("security");</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);"></span><span style="color: rgb(0, 0, 153);">
-} else {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-throw new UnsupportedCallbackException(</span><span style="color: rgb(0, 0, 153);">callbacks[i], "Unrecognized Callback");</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);"> }</span><br />
-</br><span style="color: rgb(0, 0, 153);">}</span><br />
-</br><span style="font-weight: bold;"></span><br />
-</br><br />
-</br><br />
-</br></li>
-<li>Redeploy the service. Your service should now be expecting a WSS
+("wss4j".equals(pc.getIdentifier())) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">                   
+pc.setPassword("security");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"></span><span style="color: rgb(0, 0, 153);">           
+} else {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+throw new UnsupportedCallbackException(</span><span style="color: rgb(0, 0, 153);">callbacks[i], "Unrecognized Callback");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    }</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">}</span><br /></br>
+ <span style="font-weight: bold;"></span><br /></br>
+ <br /></br>
+ <br /></br>
+ </li>
+ <li>Redeploy the service. Your service should now be expecting a WSS
Username Token in in the incoming requests, and clients should send the
-username "wss4j" and password "security" to get through.<br />
-</br></li>
+username "wss4j" and password "security" to get through.<br /></br>
+ </li>
</ol>
-<h4>Configuring the Client</h4>
-<ol type="1"><li>run the client we created again:<br />
-</br><span style="color: rgb(0, 0, 153);">java
-samples.stock.client.StockServiceClient IBM</span><br />
-</br><br />
-</br>
-You should now get an error:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">Exception in thread "main"
-AxisFault</span><br />
-</br><span style="color: rgb(0, 0, 153);"> faultCode:
-{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException</span><br />
-</br><span style="color: rgb(0, 0, 153);"> faultSubcode:</span><br />
-</br><span style="color: rgb(0, 0, 153);"> faultString:
-WSDoAllReceiver: Request does not contain required Security header</span><br />
-</br><br />
-</br>
+</div><div class="section"><h4>Configuring the Client<a name="Configuring_the_Client"></a></h4>
+<ol style="list-style-type: decimal">
+ <li>run the client we created again:<br /></br>
+ <span style="color: rgb(0, 0, 153);">java
+samples.stock.client.StockServiceClient IBM</span><br /></br>
+ <br /></br>
+You should now get an error:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">Exception in thread "main"
+AxisFault</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> faultCode:
+{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> faultSubcode:</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> faultString:
+WSDoAllReceiver: Request does not contain required Security header</span><br /></br>
+ <br /></br>
This is because your client is not configured to send a Username Token
-yet, so the service is rejecting the request.<br />
-</br><br />
-</br></li>
-<li>Create a deployment descriptor file (client_deploy.wsdd) for the
-client:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);"><deployment
+yet, so the service is rejecting the request.<br /></br>
+ <br /></br>
+ </li>
+ <li>Create a deployment descriptor file (client_deploy.wsdd) for the
+client:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);"><deployment
xmlns="http://xml.apache.org/axis/wsdd/"
-xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><br />
-</br>
- <transport name="http"
-pivot="java:org.apache.axis.transport.http.HTTPSender"/><br />
-</br>
- <globalConfiguration ><br />
-</br>
- <requestFlow ><br />
-</br>
- <handler
-type="java:org.apache.ws.axis.security.WSDoAllSender" ><br />
-</br>
- <parameter name="action"
-value="UsernameToken"/><br />
-</br>
- <parameter name="user" value="wss4j"/><br />
-</br>
- <parameter name="passwordCallbackClass"
-value="samples.stock.client.PWCallback"/><br />
-</br>
- <parameter name="passwordType"
-value="PasswordDigest"/><br />
-</br>
- </handler><br />
-</br>
- </requestFlow ><br />
-</br>
- </globalConfiguration ><br />
-</br>
-</deployment></span><span style="color: rgb(0, 0, 153);"></span><br />
-</br><br />
-</br></li>
-<li>Create the <span style="color: rgb(0, 0, 153);">samples.stock.client.PWCallback</span>
-class:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">package samples.stock.client;</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">import java.io.IOException;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.Callback;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.CallbackHandler;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-javax.security.auth.callback.UnsupportedCallbackException;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-org.apache.ws.security.WSPasswordCallback;</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">/**</span><br />
-</br><span style="color: rgb(0, 0, 153);"> * PWCallback for the
-Client</span><br />
-</br><span style="color: rgb(0, 0, 153);"> */</span><br />
-</br><span style="color: rgb(0, 0, 153);">public class PWCallback
-implements CallbackHandler {</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);"> /**</span><br />
-</br><span style="color: rgb(0, 0, 153);"> *
+xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><br /></br>
+ <transport name="http"
+pivot="java:org.apache.axis.transport.http.HTTPSender"/><br /></br>
+  <globalConfiguration ><br /></br>
+   <requestFlow ><br /></br>
+    <handler
+type="java:org.apache.ws.axis.security.WSDoAllSender" ><br /></br>
+     <parameter name="action"
+value="UsernameToken"/><br /></br>
+     <parameter name="user" value="wss4j"/><br /></br>
+     <parameter name="passwordCallbackClass"
+value="samples.stock.client.PWCallback"/><br /></br>
+     <parameter name="passwordType"
+value="PasswordDigest"/><br /></br>
+    </handler><br /></br>
+   </requestFlow ><br /></br>
+  </globalConfiguration ><br /></br>
+</deployment></span><span style="color: rgb(0, 0, 153);"></span><br /></br>
+ <br /></br>
+ </li>
+ <li>Create the <span style="color: rgb(0, 0, 153);">samples.stock.client.PWCallback</span>
+class:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">package samples.stock.client;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import java.io.IOException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.Callback;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.CallbackHandler;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+javax.security.auth.callback.UnsupportedCallbackException;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+org.apache.ws.security.WSPasswordCallback;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">/**</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> * PWCallback for the
+Client</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);"> */</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">public class PWCallback
+implements CallbackHandler {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    /**</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">     *
@see
-javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])</span><br />
-</br><span style="color: rgb(0, 0, 153);"> */</span><br />
-</br><span style="color: rgb(0, 0, 153);"> public void
-handle(Callback[] callbacks) throws IOException,</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-UnsupportedCallbackException {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-for (int i = 0; i < callbacks.length; i++) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-if (callbacks[i] instanceof WSPasswordCallback) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-// set the password given a username</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-if ("wss4j".equals(pc.getIdentifier())) {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-pc.setPassword("security");</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-} else {</span><br />
-</br><span style="color: rgb(0, 0, 153);">
+javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">     */</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    public void
+handle(Callback[] callbacks) throws IOException,</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">                   
+UnsupportedCallbackException {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+for (int i = 0; i < callbacks.length; i++) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+if (callbacks[i] instanceof WSPasswordCallback) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+// set the password given a username</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+if ("wss4j".equals(pc.getIdentifier())) {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">                   
+pc.setPassword("security");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+} else {</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">               
throw new UnsupportedCallbackException(callbacks[i], "Unrecognized
-Callback");</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);">
-}</span><br />
-</br><span style="color: rgb(0, 0, 153);"> }</span><br />
-</br><span style="color: rgb(0, 0, 153);">}</span><br />
-</br><br />
-</br></li>
-<li>Define the system property axis.ClientConfigFile for your client:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">java
+Callback");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">           
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">       
+}</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">    }</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">}</span><br /></br>
+ <br /></br>
+ </li>
+ <li>Define the system property axis.ClientConfigFile for your client:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">java
-Daxis.ClientConfigFile=client_deploy.wsdd -classpath $AXISCLASSPATH
-samples.stock.client.StockServiceClient</span><br />
-</br><br />
-</br>
-Make sure that your classpath includes the jar files under WEB-INF/lib.<br />
-</br><br />
-</br>
+samples.stock.client.StockServiceClient</span><br /></br>
+ <br /></br>
+Make sure that your classpath includes the jar files under WEB-INF/lib.<br /></br>
+ <br /></br>
Another way to do this is to specify the wsdd file in your
-StockServiceClient to the service locator programmatically:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">...</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-org.apache.axis.EngineConfiguration;</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-org.apache.axis.configuration.FileProvider;</span><br />
-</br><span style="color: rgb(0, 0, 153);">...</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">EngineConfiguration config =
-new FileProvider("client_deploy.wsdd");</span><br />
-</br><span style="color: rgb(0, 0, 153);">StockQuoteServiceService
-locator = new StockQuoteServiceServiceLocator(config);</span><br />
-</br><span style="color: rgb(0, 0, 153);">...</span><br />
-</br><br />
-</br></li>
-<li>Run the client, you should get no errors:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">stock quote service returned
-IBM: 95.7</span><br />
-</br><br />
-</br>
+StockServiceClient to the service locator programmatically:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">...</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+org.apache.axis.EngineConfiguration;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+org.apache.axis.configuration.FileProvider;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">...</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">EngineConfiguration config =
+new FileProvider("client_deploy.wsdd");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">StockQuoteServiceService
+locator = new StockQuoteServiceServiceLocator(config);</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">...</span><br /></br>
+ <br /></br>
+ </li>
+ <li>Run the client, you should get no errors:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">stock quote service returned
+IBM: 95.7</span><br /></br>
+ <br /></br>
Your client is now sending a Username Token in the wsse request header
with the username "wss4j" (see client_deploy.wsdd) and password
-"security" (see the PWCallback implementation).<br />
-</br><br />
-</br>
+"security" (see the PWCallback implementation).<br /></br>
+ <br /></br>
Another way to do this is to have the client application set the
username and CallbackHandler implementation programmatically instead of
-client_deploy.wsdd:<br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">...</span><br />
-</br><span style="color: rgb(0, 0, 153);">import
-org.apache.axis.client.Stub;</span><br />
-</br><span style="color: rgb(0, 0, 153);">...</span><br />
-</br><br />
-</br><span style="color: rgb(0, 0, 153);">Remote remote =
-locator.getPort(StockQuoteService.class);</span><br />
-</br><span style="color: rgb(0, 0, 153);">Stub axisPort = (Stub)remote;</span><br />
-</br><span style="color: rgb(0, 0, 153);">axisPort._setProperty(UsernameToken.PASSWORD_TYPE,
-WSConstants.PASSWORD_DIGEST);</span><br />
-</br><span style="color: rgb(0, 0, 153);">axisPort._setProperty(WSHandlerConstants.USER,
-"wss4j");</span><br />
-</br><span style="color: rgb(0, 0, 153);">axisPort._setProperty(WSHandlerConstants.PW_CALLBACK_REF,
-pwCallback);</span><br />
-</br><br />
-</br>
+client_deploy.wsdd:<br /></br>
+ <br /></br>
+ <span style="color: rgb(0, 0, 153);">...</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">import
+org.apache.axis.client.Stub;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">...</span><br style="color: rgb(0, 0, 153);" /></br>
+ <br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">Remote remote =
+locator.getPort(StockQuoteService.class);</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">Stub axisPort = (Stub)remote;</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">axisPort._setProperty(UsernameToken.PASSWORD_TYPE,
+WSConstants.PASSWORD_DIGEST);</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">axisPort._setProperty(WSHandlerConstants.USER,
+"wss4j");</span><br style="color: rgb(0, 0, 153);" /></br>
+ <span style="color: rgb(0, 0, 153);">axisPort._setProperty(WSHandlerConstants.PW_CALLBACK_REF,
+pwCallback);</span><br /></br>
+ <br /></br>
where "pwCallback" is a reference to a PWCallback implementation. See
-the Axis handler for WSS4J documentation for more details on this.<br />
-</br><br />
-</br></li>
-<li>Try modifying your client's PWCallback to return the wrong
+the Axis handler for WSS4J documentation for more details on this.<br /></br>
+ <br /></br>
+ </li>
+ <li>Try modifying your client's PWCallback to return the wrong
password, or send the wrong username. The service should reject your
requests.</li>
</ol>
-<br />
-</br><br />
-</br><br />
-</br></div>
+<br /></br>
+<br /></br><br /></br>
+</div></div>
</div>
+
</div>
</div>
@@ -561,19 +481,12 @@ requests.</li>
<hr/>
</div>
<div id="footer">
- <div class="xright">©
- 2004-2012
-
- The Apache Software Foundation
-
-
-
-
-
-
-
-
- </div>
+ <div class="xright">
+ Copyright © 2004-2012
+ <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+ All Rights Reserved.
+
+ </div>
<div class="clear">
<hr/>
</div>
Modified: webservices/wss4j/site/config.html
URL: http://svn.apache.org/viewvc/webservices/wss4j/site/config.html?rev=1416918&r1=1416917&r2=1416918&view=diff
==============================================================================
--- webservices/wss4j/site/config.html (original)
+++ webservices/wss4j/site/config.html Tue Dec 4 12:48:10 2012
@@ -1,17 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-
-
-
-
-
-
-
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Nov 26, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Apache WSS4J - </title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@@ -19,142 +10,90 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- </head>
+ <meta name="Date-Revision-yyyymmdd" content="20121126" />
+ <meta http-equiv="Content-Language" content="en" />
+
+ </head>
<body class="composite">
<div id="banner">
- <a href="" id="bannerLeft">
-
- Apache WSS4J
-
- </a>
- <a href="http://www.apache.org" id="bannerRight">
-
- <img src="http://activemq.apache.org/images/asf-logo.png" alt="" />
-
- </a>
+ <a href="./" id="bannerLeft">
+ Apache WSS4J
+ </a>
+ <a href="http://www.apache.org" id="bannerRight">
+ <img src="http://activemq.apache.org/images/asf-logo.png" alt="$alt" />
+ </a>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
-
-
-
-
-
-
-
-
- <div class="xleft">
- Last Published: 2012-07-25
+
+
+ <div class="xleft">
+ <span id="publishDate">Last Published: 2012-11-26</span>
+ | <span id="projectVersion">Version: 1.6.8</span>
</div>
- <div class="xright">
-
-
-
-
-
-
-
- </div>
+ <div class="xright">
+
+ </div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
-
-
-
-
-
-
-
-
- <h5>Apache WSS4J</h5>
- <ul>
-
- <li class="none">
- <a href="index.html">Home</a>
- </li>
-
- <li class="none">
- <a href="download.html">Download</a>
- </li>
-
- <li class="none">
- <a href="using.html">Using WSS4J</a>
- </li>
-
- <li class="none">
- <strong>WSS4J Configuration</strong>
- </li>
-
- <li class="none">
- <a href="topics.html">Special Topics</a>
- </li>
-
- <li class="none">
- <a href="wss4j16.html">WSS4J 1.6 Release Notes</a>
+
+
+ <h5>Apache WSS4J</h5>
+ <ul>
+ <li class="none">
+ <a href="index.html" title="Home">Home</a>
+ </li>
+ <li class="none">
+ <a href="download.html" title="Download">Download</a>
+ </li>
+ <li class="none">
+ <a href="using.html" title="Using WSS4J">Using WSS4J</a>
+ </li>
+ <li class="none">
+ <strong>WSS4J Configuration</strong>
</li>
+ <li class="none">
+ <a href="topics.html" title="Special Topics">Special Topics</a>
+ </li>
+ <li class="none">
+ <a href="best_practice.html" title="Security Best Practices">Security Best Practices</a>
+ </li>
+ <li class="none">
+ <a href="wss4j16.html" title="WSS4J 1.6 Release Notes">WSS4J 1.6 Release Notes</a>
+ </li>
</ul>
- <h5>Project Documentation</h5>
- <ul>
-
-
-
-
-
-
-
-
-
-
-
-
-
- <li class="collapsed">
- <a href="project-info.html">Project Information</a>
- </li>
-
-
-
-
-
-
-
-
-
-
-
-
-
- <li class="collapsed">
- <a href="project-reports.html">Project Reports</a>
- </li>
+ <h5>Project Documentation</h5>
+ <ul>
+ <li class="collapsed">
+ <a href="project-info.html" title="Project Information">Project Information</a>
+ </li>
+ <li class="collapsed">
+ <a href="project-reports.html" title="Project Reports">Project Reports</a>
+ </li>
</ul>
- <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
- <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
- </a>
-
-
-
-
-
-
-
-
- </div>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+ </a>
+
+
+ </div>
</div>
<div id="bodyColumn">
<div id="contentBox">
- <div class="section"><h2><a name="WSS4J_configuration"></a>WSS4J configuration</h2>
+
+
+<div class="section"><h2>WSS4J configuration<a name="WSS4J_configuration"></a></h2>
<p>
This page describes how to use configure Apache WSS4J. This page only applies to WSS4J 1.6, a lot of the
properties have changed since WSS4J 1.5.x.
</p>
-<div class="section"><h3><a name="Crypto_properties"></a>Crypto properties</h3>
+<div class="section"><h3>Crypto properties<a name="Crypto_properties"></a></h3>
<p>
Apache WSS4J uses the Crypto interface to get keys and certificates for encryption/decryption and for
signature creation/verification. WSS4J ships with two implementations, the standard "Merlin" implementation,
@@ -170,104 +109,134 @@ properties file. The property values are
<p>
General properties:
</p>
-<table class="bodyTable"><tr class="a"><th>Property name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Property name</th>
<th>Property value</th>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.provider</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.provider</td>
<td>WSS4J specific provider used to create Crypto instances. Defaults to
"org.apache.ws.security.components.crypto.Merlin".</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.keystore.provider</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.keystore.provider</td>
<td>The provider used to load keystores. Defaults to installed provider.</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.merlin.cert.provider</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.cert.provider</td>
<td>The provider used to load certificates. Defaults to keystore provider.</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.x509crl.file</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.x509crl.file</td>
<td>The location of an (X509) CRL file to use.</td>
</tr>
</table>
<p>
Keystore properties:
</p>
-<table class="bodyTable"><tr class="b"><th>Property name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Property name</th>
<th>Property value</th>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.keystore.file</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.keystore.file</td>
<td>The location of the keystore</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.merlin.keystore.password</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.keystore.password</td>
<td>The password used to load the keystore. Default value is "security".</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.keystore.type</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.keystore.type</td>
<td>Type of keystore. Defaults to: java.security.KeyStore.getDefaultType())</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.merlin.keystore.alias</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.keystore.alias</td>
<td>The default keystore alias to use, if none is specified.</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.keystore.private.password</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.keystore.private.password</td>
<td>The default password used to load the private key.</td>
</tr>
</table>
<p>
TrustStore properties:
</p>
-<table class="bodyTable"><tr class="b"><th>Property name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Property name</th>
<th>Property value</th>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.load.cacerts</td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.load.cacerts</td>
<td>Whether or not to load the CA certs in ${java.home}/lib/security/cacerts (default is false)</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.merlin.truststore.file</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.truststore.file</td>
<td>The location of the truststore</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.crypto.merlin.truststore.password </td>
+<tr class="b">
+<td>org.apache.ws.security.crypto.merlin.truststore.password </td>
<td>The truststore password. Defaults to "changeit".</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.crypto.merlin.truststore.type</td>
+<tr class="a">
+<td>org.apache.ws.security.crypto.merlin.truststore.type</td>
<td>The truststore type. Defaults to: java.security.KeyStore.getDefaultType().</td>
</tr>
</table>
+
</div>
-<div class="section"><h3><a name="SAML_properties"></a>SAML properties</h3>
+<div class="section"><h3>SAML properties<a name="SAML_properties"></a></h3>
<p>
Apache WSS4J uses the SAMLIssuer interface to configure the creation and signing of a SAML
Assertion. WSS4J ships with a default "SAMLIssuerImpl" implementation. It is possible to
instantiate a SAMLIssuer implementation directly, but it can also be loaded via a properties file.
The property values are as follows:
</p>
-<table class="bodyTable"><tr class="a"><th>Property name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Property name</th>
<th>Property value</th>
</tr>
-<tr class="b"><td>org.apache.ws.security.saml.issuerClass</td>
+<tr class="b">
+<td>org.apache.ws.security.saml.issuerClass</td>
<td>The SAML Issuer implementation (defaults to "org.apache.ws.security.saml.SAMLIssuerImpl").</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.saml.issuer.cryptoProp.file</td>
+<tr class="a">
+<td>org.apache.ws.security.saml.issuer.cryptoProp.file</td>
<td>The crypto properties file corresponding to the issuer crypto instance, if the assertion is to
be signed.</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.saml.issuer.key.name</td>
+<tr class="b">
+<td>org.apache.ws.security.saml.issuer.key.name</td>
<td>The KeyStore alias for the issuer key.</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.saml.issuer.key.password</td>
+<tr class="a">
+<td>org.apache.ws.security.saml.issuer.key.password</td>
<td>The KeyStore password for the issuer key.</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.saml.issuer</td>
+<tr class="b">
+<td>org.apache.ws.security.saml.issuer</td>
<td>The issuer name</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.saml.issuer.sendKeyValue</td>
+<tr class="a">
+<td>org.apache.ws.security.saml.issuer.sendKeyValue</td>
<td>Whether to send the key value or the X509Certificate. Default is "false".</td>
</tr>
-<tr class="b"><td>org.apache.ws.security.saml.issuer.signAssertion</td>
+<tr class="b">
+<td>org.apache.ws.security.saml.issuer.signAssertion</td>
<td>Whether the SAMLIssuer implementation will sign the assertion or not. Defaults is
"false".</td>
</tr>
-<tr class="a"><td>org.apache.ws.security.saml.callback</td>
+<tr class="a">
+<td>org.apache.ws.security.saml.callback</td>
<td>The name of the SAML CallbackHandler implementation used to populate the SAML Assertion.</td>
</tr>
</table>
</div>
-<div class="section"><h3><a name="WSHandler_configuration_tags"></a>WSHandler configuration tags</h3>
+<div class="section"><h3>WSHandler configuration tags<a name="WSHandler_configuration_tags"></a></h3>
<p>
Apache WSS4J provides a set of configuration tags for the WSHandler object used for the creation
and processing of WS-Security enabled messages. For more information see the
@@ -276,47 +245,59 @@ and processing of WS-Security enabled me
<p>
The configuration tags for WSHandler Actions are as follows:
</p>
-<table class="bodyTable"><tr class="b"><th>Tag name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Tag name</th>
<th>Tag value</th>
<th>Tag meaning</th>
</tr>
-<tr class="a"><td>ACTION</td>
+<tr class="b">
+<td>ACTION</td>
<td>action</td>
<td>The action to perform, e.g. WSHandlerConstants.TIMESTAMP</td>
</tr>
-<tr class="b"><td>NO_SECURITY</td>
+<tr class="a">
+<td>NO_SECURITY</td>
<td>NoSecurity</td>
<td>Do not perform any action, do nothing.</td>
</tr>
-<tr class="a"><td>USERNAME_TOKEN</td>
+<tr class="b">
+<td>USERNAME_TOKEN</td>
<td>UsernameToken</td>
<td>Perform a UsernameToken action.</td>
</tr>
-<tr class="b"><td>USERNAME_TOKEN_NO_PASSWORD</td>
+<tr class="a">
+<td>USERNAME_TOKEN_NO_PASSWORD</td>
<td>UsernameTokenNoPassword</td>
<td>Used on the receiving side to specify a UsernameToken with no password</td>
</tr>
-<tr class="a"><td>SAML_TOKEN_UNSIGNED</td>
+<tr class="b">
+<td>SAML_TOKEN_UNSIGNED</td>
<td>SAMLTokenUnsigned</td>
<td>Perform an unsigned SAML Token action.</td>
</tr>
-<tr class="b"><td>SAML_TOKEN_SIGNED</td>
+<tr class="a">
+<td>SAML_TOKEN_SIGNED</td>
<td>SAMLTokenSigned</td>
<td>Perform a signed SAML Token action.</td>
</tr>
-<tr class="a"><td>SIGNATURE</td>
+<tr class="b">
+<td>SIGNATURE</td>
<td>Signature</td>
<td>Perform a signature action.</td>
</tr>
-<tr class="b"><td>ENCRYPT</td>
+<tr class="a">
+<td>ENCRYPT</td>
<td>Encrypt</td>
<td>Perform an encryption action.</td>
</tr>
-<tr class="a"><td>TIMESTAMP</td>
+<tr class="b">
+<td>TIMESTAMP</td>
<td>Timestamp</td>
<td>Perform a Timestamp action.</td>
</tr>
-<tr class="b"><td>SIGN_WITH_UT_KEY</td>
+<tr class="a">
+<td>SIGN_WITH_UT_KEY</td>
<td>UsernameTokenSignature</td>
<td>Perform a .NET specific signature using a Username Token action.</td>
</tr>
@@ -324,27 +305,34 @@ The configuration tags for WSHandler Act
<p>
The configuration tags for WSHandler user properties are as follows:
</p>
-<table class="bodyTable"><tr class="a"><th>Tag name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Tag name</th>
<th>Tag value</th>
<th>Tag meaning</th>
</tr>
-<tr class="b"><td>ACTOR</td>
+<tr class="b">
+<td>ACTOR</td>
<td>"actor"</td>
<td>The actor or role name of the wsse:Security header.</td>
</tr>
-<tr class="a"><td>USER</td>
+<tr class="a">
+<td>USER</td>
<td>"user"</td>
<td>The user's name. Consult the Javadoc for an explanation of this property.</td>
</tr>
-<tr class="b"><td>ENCRYPTION_USER</td>
+<tr class="b">
+<td>ENCRYPTION_USER</td>
<td>"encryptionUser"</td>
<td>The user's name for encryption. Consult the Javadoc for an explanation of this property.</td>
</tr>
-<tr class="a"><td>SIGNATURE_USER</td>
+<tr class="a">
+<td>SIGNATURE_USER</td>
<td>"signatureUser"</td>
<td>The user's name for signature. Consult the Javadoc for an explanation of this property.</td>
</tr>
-<tr class="b"><td>USE_REQ_SIG_CERT</td>
+<tr class="b">
+<td>USE_REQ_SIG_CERT</td>
<td>"useReqSigCert"</td>
<td>A special value for ENCRYPTION_USER. Consult the Javadoc for an explanation of this
property.</td>
@@ -354,63 +342,78 @@ property.</td>
The configuration tags for WSHandler callback class and property file configuration are
summarised here:
</p>
-<table class="bodyTable"><tr class="a"><th>Tag name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Tag name</th>
<th>Tag value</th>
<th>Tag meaning</th>
</tr>
-<tr class="b"><td>PW_CALLBACK_CLASS</td>
+<tr class="b">
+<td>PW_CALLBACK_CLASS</td>
<td>passwordCallbackClass</td>
<td>The CallbackHandler implementation class used to obtain passwords.</td>
</tr>
-<tr class="a"><td>PW_CALLBACK_REF</td>
+<tr class="a">
+<td>PW_CALLBACK_REF</td>
<td>passwordCallbackRef</td>
<td>The CallbackHandler implementation object used to obtain passwords.</td>
</tr>
-<tr class="b"><td>SAML_CALLBACK_CLASS</td>
+<tr class="b">
+<td>SAML_CALLBACK_CLASS</td>
<td>samlCallbackClass</td>
<td>The CallbackHandler implementation class used to construct SAML Assertions.</td>
</tr>
-<tr class="a"><td>SAML_CALLBACK_REF</td>
+<tr class="a">
+<td>SAML_CALLBACK_REF</td>
<td>samlCallbackRef</td>
<td>The CallbackHandler implementation object used to construct SAML Assertions.</td>
</tr>
-<tr class="b"><td>ENC_CALLBACK_CLASS</td>
+<tr class="b">
+<td>ENC_CALLBACK_CLASS</td>
<td>embeddedKeyCallbackClass</td>
<td>The CallbackHandler implementation class used to get the key associated with a key name.</td>
</tr>
-<tr class="a"><td>ENC_CALLBACK_REF</td>
+<tr class="a">
+<td>ENC_CALLBACK_REF</td>
<td>embeddedKeyCallbackRef</td>
<td>The CallbackHandler implementation object used to get the key associated with a key name.</td>
</tr>
-<tr class="b"><td>SIG_PROP_FILE</td>
+<tr class="b">
+<td>SIG_PROP_FILE</td>
<td>signaturePropFile</td>
<td>The path of the crypto property file to use for Signature.</td>
</tr>
-<tr class="a"><td>SIG_PROP_REF_ID</td>
+<tr class="a">
+<td>SIG_PROP_REF_ID</td>
<td>signaturePropRefId</td>
<td>The String ID that is used to store a reference to the Crypto object or the Crypto Properties
object for Signature.
</td>
</tr>
-<tr class="b"><td>DEC_PROP_FILE</td>
+<tr class="b">
+<td>DEC_PROP_FILE</td>
<td>decryptionPropFile</td>
<td>The path of the crypto property file to use for Decryption.</td>
</tr>
-<tr class="a"><td>DEC_PROP_REF_ID</td>
+<tr class="a">
+<td>DEC_PROP_REF_ID</td>
<td>decryptionPropRefId</td>
<td>The String ID that is used to store a reference to the Crypto object or the Crypto Properties
object for decryption.</td>
</tr>
-<tr class="b"><td>ENC_PROP_FILE</td>
+<tr class="b">
+<td>ENC_PROP_FILE</td>
<td>encryptionPropFile</td>
<td>The path of the crypto property file to use for encryption.</td>
</tr>
-<tr class="a"><td>ENC_PROP_REF_ID</td>
+<tr class="a">
+<td>ENC_PROP_REF_ID</td>
<td>encryptionPropRefId</td>
<td>The String ID that is used to store a reference to the Crypto object or the Crypto Properties
object for encryption.</td>
</tr>
-<tr class="b"><td>SAML_PROP_FILE</td>
+<tr class="b">
+<td>SAML_PROP_FILE</td>
<td>samlPropFile</td>
<td>The path of the property file to use for creating SAML Assertions.</td>
</tr>
@@ -419,71 +422,88 @@ object for encryption.</td>
The configuration tags for WSHandler properties that are configured via a boolean parameter
(i.e. "true" or "false") are as follows:
</p>
-<table class="bodyTable"><tr class="a"><th>Tag name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Tag name</th>
<th>Tag value</th>
<th>Tag meaning</th>
</tr>
-<tr class="b"><td>ENABLE_SIGNATURE_CONFIRMATION</td>
+<tr class="b">
+<td>ENABLE_SIGNATURE_CONFIRMATION</td>
<td>enableSignatureConfirmation</td>
<td>Whether to enable signature confirmation or not. Default is "false".</td>
</tr>
-<tr class="a"><td>MUST_UNDERSTAND</td>
+<tr class="a">
+<td>MUST_UNDERSTAND</td>
<td>mustUnderstand</td>
<td>Set the outbound MustUnderstand flag or not. Default is "true".</td>
</tr>
-<tr class="b"><td>IS_BSP_COMPLIANT</td>
+<tr class="b">
+<td>IS_BSP_COMPLIANT</td>
<td>isBSPCompliant</td>
<td>Whether or not to ensure compliance with the BSP 1.1 spec. Default is "true".</td>
</tr>
-<tr class="a"><td>HANDLE_CUSTOM_PASSWORD_TYPES</td>
+<tr class="a">
+<td>HANDLE_CUSTOM_PASSWORD_TYPES</td>
<td>handleCustomPasswordTypes</td>
<td>Whether to allow non-standard password types in a UsernameToken. Default is "false".</td>
</tr>
-<tr class="b"><td>PASSWORD_TYPE_STRICT</td>
+<tr class="b">
+<td>PASSWORD_TYPE_STRICT</td>
<td>passwordTypeStrict</td>
<td>Whether to enable strict Username Token password type handling. Default is "false".</td>
</tr>
-<tr class="a"><td>REQUIRE_SIGNED_ENCRYPTED_DATA_ELEMENTS</td>
+<tr class="a">
+<td>REQUIRE_SIGNED_ENCRYPTED_DATA_ELEMENTS</td>
<td>requireSignedEncryptedDataElements</td>
<td>Whether the engine needs to enforce EncryptedData elements are in a signed subtree of the document.
Default is "false".</td>
</tr>
-<tr class="b"><td>ALLOW_NAMESPACE_QUALIFIED_PASSWORD_TYPES</td>
+<tr class="b">
+<td>ALLOW_NAMESPACE_QUALIFIED_PASSWORD_TYPES</td>
<td>allowNamespaceQualifiedPasswordTypes</td>
<td>Whether (wsse) namespace qualified password types are accepted when processing UsernameTokens.
Default is "false".</td>
</tr>
-<tr class="a"><td>ENABLE_REVOCATION</td>
+<tr class="a">
+<td>ENABLE_REVOCATION</td>
<td>enableRevocation</td>
<td>Whether to enable Certificate Revocation List (CRL) checking when verifying trust in a
certificate. Default is "false".</td>
</tr>
-<tr class="b"><td>USE_ENCODED_PASSWORDS</td>
+<tr class="b">
+<td>USE_ENCODED_PASSWORDS</td>
<td>useEncodedPasswords</td>
<td>Set whether to treat passwords as binary values for Username Tokens. Default is "false".</td>
</tr>
-<tr class="a"><td>USE_SINGLE_CERTIFICATE</td>
+<tr class="a">
+<td>USE_SINGLE_CERTIFICATE</td>
<td>useSingleCertificate</td>
<td>Whether to use a single certificate or a whole certificate chain to construct a
BinarySecurityToken. Default is "true".</td>
</tr>
-<tr class="b"><td>USE_DERIVED_KEY</td>
+<tr class="b">
+<td>USE_DERIVED_KEY</td>
<td>useDerivedKey</td>
<td>Whether to use the standard UsernameToken Key Derivation algorithm. Default is "true".</td>
</tr>
-<tr class="a"><td>USE_DERIVED_KEY_FOR_MAC</td>
+<tr class="a">
+<td>USE_DERIVED_KEY_FOR_MAC</td>
<td>useDerivedKeyForMAC</td>
<td>Whether to use the Username Token derived key for a MAC. Default is "true".</td>
</tr>
-<tr class="b"><td>TIMESTAMP_PRECISION</td>
+<tr class="b">
+<td>TIMESTAMP_PRECISION</td>
<td>precisionInMilliseconds</td>
<td>Set whether outbound timestamps have precision in milliseconds. Default is "true".</td>
</tr>
-<tr class="a"><td>TIMESTAMP_STRICT</td>
+<tr class="a">
+<td>TIMESTAMP_STRICT</td>
<td>timestampStrict</td>
<td>Set whether to enable strict Timestamp handling. Default is "true".</td>
</tr>
-<tr class="b"><td>ENC_SYM_ENC_KEY</td>
+<tr class="b">
+<td>ENC_SYM_ENC_KEY</td>
<td>encryptSymmetricEncryptionKey</td>
<td>Set whether to encrypt the symmetric encryption key or not. Default is "true".</td>
</tr>
@@ -492,77 +512,101 @@ BinarySecurityToken. Default is "tr
The configuration tags for WSHandler properties that are configured via a non-boolean parameter
are as follows:
</p>
-<table class="bodyTable"><tr class="a"><th>Tag name</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Tag name</th>
<th>Tag value</th>
<th>Tag meaning</th>
</tr>
-<tr class="b"><td>ENC_KEY_NAME</td>
+<tr class="b">
+<td>ENC_KEY_NAME</td>
<td>embeddedKeyName</td>
<td>The text of the key name to be sent in the KeyInfo for encryption</td>
</tr>
-<tr class="a"><td>PASSWORD_TYPE</td>
+<tr class="a">
+<td>PASSWORD_TYPE</td>
<td>passwordType</td>
<td>The encoding of the password for a Username Token. The default is WSConstants.PW_DIGEST.</td>
</tr>
-<tr class="b"><td>ADD_UT_ELEMENTS</td>
+<tr class="b">
+<td>ADD_UT_ELEMENTS</td>
<td>addUTElements</td>
<td>Additional elements to add to a Username Token, i.e. "nonce" and "created".</td>
</tr>
-<tr class="a"><td>SIG_KEY_ID</td>
+<tr class="a">
+<td>SIG_KEY_ID</td>
<td>signatureKeyIdentifier</td>
<td>The key identifier type to use for signature. The default is "IssuerSerial".</td>
</tr>
-<tr class="b"><td>SIG_ALGO</td>
+<tr class="b">
+<td>SIG_ALGO</td>
<td>signatureAlgorithm</td>
<td>The signature algorithm to use. The default is set by the data in the certificate.
</td>
</tr>
-<tr class="a"><td>SIG_DIGEST_ALGO</td>
+<tr class="a">
+<td>SIG_DIGEST_ALGO</td>
<td>signatureDigestAlgorithm</td>
<td>The signature digest algorithm to use. The default is SHA-1.</td>
</tr>
-<tr class="b"><td>SIGNATURE_PARTS</td>
+<tr class="b">
+<td>SIGNATURE_PARTS</td>
<td>signatureParts</td>
<td>Parameter to define which parts of the request shall be signed. The SOAP body is signed
by default.</td>
</tr>
-<tr class="a"><td>WSE_SECRET_KEY_LENGTH</td>
+<tr class="a">
+<td>WSE_SECRET_KEY_LENGTH</td>
<td>wseSecretKeyLength</td>
<td>The length of the secret (derived) key to use for the WSE UT_SIGN functionality.</td>
</tr>
-<tr class="b"><td>DERIVED_KEY_ITERATIONS</td>
+<tr class="b">
+<td>DERIVED_KEY_ITERATIONS</td>
<td>derivedKeyIterations</td>
<td>The number of iterations to use when deriving a key from a Username Token. The default is
1000.</td>
</tr>
-<tr class="a"><td>ENC_KEY_ID</td>
+<tr class="a">
+<td>ENC_KEY_ID</td>
<td>encryptionKeyIdentifier</td>
<td>The key identifier type to use for encryption. The default is "IssuerSerial".</td>
</tr>
-<tr class="b"><td>ENC_SYM_ALGO</td>
+<tr class="b">
+<td>ENC_SYM_ALGO</td>
<td>encryptionSymAlgorithm</td>
<td>The symmetric encryption algorithm to use. The default is AES-128.</td>
</tr>
-<tr class="a"><td>ENC_KEY_TRANSPORT</td>
+<tr class="a">
+<td>ENC_KEY_TRANSPORT</td>
<td>encryptionKeyTransportAlgorithm</td>
-<td>The algorithm to use to encrypt the generated symmetric key. The default is RSA-15.</td>
+<td>The algorithm to use to encrypt the generated symmetric key. The default is RSA-OAEP.</td>
</tr>
-<tr class="b"><td>ENCRYPTION_PARTS</td>
+<tr class="b">
+<td>ENC_DIGEST_ALGO</td>
+<td>encryptionDigestAlgorithm</td>
+<td>The encryption digest algorithm to use with the RSA-OAEP key transport algorithm. The default
+is SHA-1.</td>
+</tr>
+<tr class="a">
+<td>ENCRYPTION_PARTS</td>
<td>encryptionParts</td>
<td>Parameter to define which parts of the request shall be encrypted. The SOAP body is encrypted
in "Content" mode by default.</td>
</tr>
-<tr class="a"><td>TTL_TIMESTAMP</td>
+<tr class="b">
+<td>TTL_TIMESTAMP</td>
<td>timeToLive</td>
<td>The time difference between creation and expiry time in seconds in the WSS Timestamp. The
default is "300".</td>
</tr>
-<tr class="b"><td>TTL_FUTURE_TIMESTAMP</td>
+<tr class="a">
+<td>TTL_FUTURE_TIMESTAMP</td>
<td>futureTimeToLive</td>
<td>The time in seconds in the future within which the Created time of an incoming Timestamp is
valid. The default is "60".</td>
</tr>
-<tr class="b"><td>SIG_SUBJECT_CERT_CONSTRAINTS</td>
+<tr class="b">
+<td>SIG_SUBJECT_CERT_CONSTRAINTS</td>
<td>sigSubjectCertConstraints</td>
<td>A comma separated String of regular expressions which will be applied to the subject DN of the
certificate used for signature validation, after trust verification of the certificate chain associated
@@ -574,25 +618,35 @@ The configuration values for setting the
are shown below. See the <a class="externalLink" href="http://ws.apache.org/wss4j/apidocs/org/apache/ws/security/handler/WSHandlerConstants.html">Javadoc</a>
for SIG_KEY_ID and ENC_KEY_ID for more details:
</p>
-<table class="bodyTable"><tr class="a"><th>Value</th>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>Value</th>
</tr>
-<tr class="b"><td>DirectReference</td>
+<tr class="b">
+<td>DirectReference</td>
</tr>
-<tr class="a"><td>IssuerSerial</td>
+<tr class="a">
+<td>IssuerSerial</td>
</tr>
-<tr class="b"><td>X509KeyIdentifier</td>
+<tr class="b">
+<td>X509KeyIdentifier</td>
</tr>
-<tr class="a"><td>SKIKeyIdentifier</td>
+<tr class="a">
+<td>SKIKeyIdentifier</td>
</tr>
-<tr class="b"><td>EmbeddedKeyName</td>
+<tr class="b">
+<td>EmbeddedKeyName</td>
</tr>
-<tr class="a"><td>Thumbprint</td>
+<tr class="a">
+<td>Thumbprint</td>
</tr>
-<tr class="b"><td>EncryptedKeySHA1</td>
+<tr class="b">
+<td>EncryptedKeySHA1</td>
</tr>
</table>
</div>
-</div>
+</div>
+
</div>
</div>
@@ -600,19 +654,12 @@ for SIG_KEY_ID and ENC_KEY_ID for more d
<hr/>
</div>
<div id="footer">
- <div class="xright">©
- 2004-2012
-
- The Apache Software Foundation
-
-
-
-
-
-
-
-
- </div>
+ <div class="xright">
+ Copyright © 2004-2012
+ <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+ All Rights Reserved.
+
+ </div>
<div class="clear">
<hr/>
</div>
Modified: webservices/wss4j/site/css/maven-base.css
URL: http://svn.apache.org/viewvc/webservices/wss4j/site/css/maven-base.css?rev=1416918&r1=1416917&r2=1416918&view=diff
==============================================================================
--- webservices/wss4j/site/css/maven-base.css (original)
+++ webservices/wss4j/site/css/maven-base.css Tue Dec 4 12:48:10 2012
@@ -89,6 +89,10 @@ div.clear hr{
#navcolumn li.collapsed {
background-image: url(../images/collapsed.gif);
}
+#navcolumn li.none {
+ text-indent: -1em;
+ margin-left: 1em;
+}
#poweredBy {
text-align: center;
}
@@ -141,3 +145,11 @@ div.clear hr{
margin: 0px;
padding: 0px;
}
+#navcolumn img.imageLink, .imageLink {
+ padding-left: 0px;
+ padding-bottom: 0px;
+ padding-top: 0px;
+ padding-right: 2px;
+ border: 0px;
+ margin: 0px;
+}
Modified: webservices/wss4j/site/css/maven-theme.css
URL: http://svn.apache.org/viewvc/webservices/wss4j/site/css/maven-theme.css?rev=1416918&r1=1416917&r2=1416918&view=diff
==============================================================================
--- webservices/wss4j/site/css/maven-theme.css (original)
+++ webservices/wss4j/site/css/maven-theme.css Tue Dec 4 12:48:10 2012
@@ -1,161 +1,141 @@
-/*
- * 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.
- */
-
-body {
- padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
- font-family: Verdana, Helvetica, Arial, sans-serif;
- font-size: 13px;
-}
-code{
- font-family: Courier, monospace;
- font-size: 13px;
-}
-a {
- text-decoration: none;
-}
-a:link {
- color:#36a;
-}
-a:visited {
- color:#47a;
-}
-a:active, a:hover {
- color:#69c;
-}
-#legend li.externalLink {
- background: url(../images/external.png) left top no-repeat;
- padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
- background: url(../images/external.png) right center no-repeat;
- padding-right: 18px;
-}
-#legend li.newWindow {
- background: url(../images/newwindow.png) left top no-repeat;
- padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
- background: url(../images/newwindow.png) right center no-repeat;
- padding-right: 18px;
-}
-h2 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #999;
- color: #900;
- background-color: #ddd;
- font-weight:900;
- font-size: x-large;
-}
-h3 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #aaa;
- color: #900;
- background-color: #eee;
- font-weight: normal;
- font-size: large;
-}
-h4 {
- padding: 4px 4px 4px 6px;
- border: 1px solid #bbb;
- color: #900;
- background-color: #fff;
- font-weight: normal;
- font-size: large;
-}
-h5 {
- padding: 4px 4px 4px 6px;
- color: #900;
- font-size: medium;
-}
-p {
- line-height: 1.3em;
- font-size: small;
-}
-#breadcrumbs {
- border-top: 1px solid #aaa;
- border-bottom: 1px solid #aaa;
- background-color: #ccc;
-}
-#leftColumn {
- margin: 10px 0 0 5px;
- border: 1px solid #999;
- background-color: #eee;
- padding-bottom: 3px; /* IE-9 scrollbar-fix */
-}
-#navcolumn h5 {
- font-size: smaller;
- border-bottom: 1px solid #aaaaaa;
- padding-top: 2px;
- color: #000;
-}
-
-table.bodyTable th {
- color: white;
- background-color: #bbb;
- text-align: left;
- font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
- font-size: 1em;
-}
-
-table.bodyTable tr.a {
- background-color: #ddd;
-}
-
-table.bodyTable tr.b {
- background-color: #eee;
-}
-
-.source {
- border: 1px solid #999;
-}
-dl {
- padding: 4px 4px 4px 6px;
- border: 1px solid #aaa;
- background-color: #ffc;
-}
-dt {
- color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
- margin: 8px;
-}
-#banner {
- border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
- background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
- background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
- background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
- background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+ padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+}
+code{
+ font-family: Courier, monospace;
+ font-size: 13px;
+}
+a {
+ text-decoration: none;
+}
+a:link {
+ color:#36a;
+}
+a:visited {
+ color:#47a;
+}
+a:active, a:hover {
+ color:#69c;
+}
+#legend li.externalLink {
+ background: url(../images/external.png) left top no-repeat;
+ padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+ background: url(../images/external.png) right center no-repeat;
+ padding-right: 18px;
+}
+#legend li.newWindow {
+ background: url(../images/newwindow.png) left top no-repeat;
+ padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+ background: url(../images/newwindow.png) right center no-repeat;
+ padding-right: 18px;
+}
+h2 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #999;
+ color: #900;
+ background-color: #ddd;
+ font-weight:900;
+ font-size: x-large;
+}
+h3 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #aaa;
+ color: #900;
+ background-color: #eee;
+ font-weight: normal;
+ font-size: large;
+}
+h4 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #bbb;
+ color: #900;
+ background-color: #fff;
+ font-weight: normal;
+ font-size: large;
+}
+h5 {
+ padding: 4px 4px 4px 6px;
+ color: #900;
+ font-size: normal;
+}
+p {
+ line-height: 1.3em;
+ font-size: small;
+}
+#breadcrumbs {
+ border-top: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+ background-color: #ccc;
+}
+#leftColumn {
+ margin: 10px 0 0 5px;
+ border: 1px solid #999;
+ background-color: #eee;
+}
+#navcolumn h5 {
+ font-size: smaller;
+ border-bottom: 1px solid #aaaaaa;
+ padding-top: 2px;
+ color: #000;
+}
+
+table.bodyTable th {
+ color: white;
+ background-color: #bbb;
+ text-align: left;
+ font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+ font-size: 1em;
+}
+
+table.bodyTable tr.a {
+ background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+ background-color: #eee;
+}
+
+.source {
+ border: 1px solid #999;
+}
+dl {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #aaa;
+ background-color: #ffc;
+}
+dt {
+ color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+ margin: 8px;
+}
+#banner {
+ border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+ background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+ background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+ background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+ background-image: url(../images/icon_info_sml.gif);
+}
+
Modified: webservices/wss4j/site/css/site.css
URL: http://svn.apache.org/viewvc/webservices/wss4j/site/css/site.css?rev=1416918&r1=1416917&r2=1416918&view=diff
==============================================================================
--- webservices/wss4j/site/css/site.css (original)
+++ webservices/wss4j/site/css/site.css Tue Dec 4 12:48:10 2012
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file