blob: 8d55d40332496be49d65745a47555f30dcb8001c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>SAML2TokenIssuer (Apache Rampart)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SAML2TokenIssuer (Apache Rampart)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SAML2TokenIssuer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/rahas/impl/AbstractIssuerConfig.KeyComputation.html" title="class in org.apache.rahas.impl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/rahas/impl/SAMLTokenIssuer.html" title="class in org.apache.rahas.impl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/rahas/impl/SAML2TokenIssuer.html" target="_top">Frames</a></li>
<li><a href="SAML2TokenIssuer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.rahas.impl</div>
<h2 title="Class SAML2TokenIssuer" class="title">Class SAML2TokenIssuer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.rahas.impl.SAML2TokenIssuer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">SAML2TokenIssuer</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></pre>
<div class="block">WS-Trust based SAML2 token issuer. This issuer will generate request security token responses with SAML2
assertions.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.opensaml.xml.signature.Signature&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#signatureList">signatureList</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#SAML2TokenIssuer()">SAML2TokenIssuer</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.Assertion</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#buildAssertion(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.apache.rahas.RahasData)">buildAssertion</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This methods builds the SAML2 assertion.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.AttributeStatement</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createAttributeStatement(org.apache.rahas.RahasData)">createAttributeStatement</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This method creates an AttributeStatement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.AuthnStatement</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createAuthenticationStatement(org.apache.rahas.RahasData)">createAuthenticationStatement</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This method creates an authentication statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.opensaml.xml.signature.KeyInfo</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createKeyInfo(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.apache.rahas.RahasData)">createKeyInfo</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This method creates the KeyInfo relevant for the assertion.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.axiom.soap.SOAPEnvelope</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createRequestSecurityTokenResponse(org.apache.rahas.RahasData, org.opensaml.saml2.core.Assertion, org.apache.axiom.soap.SOAPEnvelope)">createRequestSecurityTokenResponse</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;rahasData,
org.opensaml.saml2.core.Assertion&nbsp;assertion,
org.apache.axiom.soap.SOAPEnvelope&nbsp;soapEnvelope)</code>
<div class="block">This method prepares the final response.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.Subject</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createSubjectWithBearerSubjectConfirmation(org.apache.rahas.RahasData)">createSubjectWithBearerSubjectConfirmation</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This method creates a subject element with the bearer subject confirmation method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.Subject</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#createSubjectWithHolderOfKeySubjectConfirmation(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.joda.time.DateTime, org.joda.time.DateTime, org.apache.rahas.RahasData)">createSubjectWithHolderOfKeySubjectConfirmation</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
org.joda.time.DateTime&nbsp;creationTime,
org.joda.time.DateTime&nbsp;expirationTime,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This method will create a SAML 2 subject based on Holder of Key confirmation method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#getResponseAction(org.apache.rahas.RahasData)">getResponseAction</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">Returns the <code>wsa:Action</code> of the response.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>org.apache.axiom.soap.SOAPEnvelope</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#issue(org.apache.rahas.RahasData)">issue</a></strong>(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)</code>
<div class="block">This is the main method which issues SAML2 assertions as security token responses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#setConfigurationElement(org.apache.axiom.om.OMElement)">setConfigurationElement</a></strong>(org.apache.axiom.om.OMElement&nbsp;configElement)</code>
<div class="block">Set the configuration element of this TokenIssuer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#setConfigurationFile(java.lang.String)">setConfigurationFile</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFile)</code>
<div class="block">Set the configuration file of this TokenIssuer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#setConfigurationParamName(java.lang.String)">setConfigurationParamName</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configParamName)</code>
<div class="block">Set the name of the configuration parameter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#setSubjectNamedIdentifierData(org.opensaml.saml2.core.Subject, java.lang.String, java.lang.String)">setSubjectNamedIdentifierData</a></strong>(org.opensaml.saml2.core.Subject&nbsp;subject,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;subjectNameId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</code>
<div class="block">This method will set the subject principal details to the given subject.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.opensaml.saml2.core.Assertion</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/rahas/impl/SAML2TokenIssuer.html#signAssertion(org.w3c.dom.Document, org.opensaml.saml2.core.Assertion, org.apache.ws.security.components.crypto.Crypto)">signAssertion</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;document,
org.opensaml.saml2.core.Assertion&nbsp;assertion,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto)</code>
<div class="block">This method signs the given assertion with issuer's private key.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="signatureList">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>signatureList</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.opensaml.xml.signature.Signature&gt; signatureList</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SAML2TokenIssuer()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SAML2TokenIssuer</h4>
<pre>public&nbsp;SAML2TokenIssuer()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="issue(org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>issue</h4>
<pre>public&nbsp;org.apache.axiom.soap.SOAPEnvelope&nbsp;issue(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This is the main method which issues SAML2 assertions as security token responses. This method will
read issuer configuration and in message context properties (Basically request security token properties)
and will create a security token response with SAML2 assertion. The attributes are retrieved from a callback
class.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/rahas/TokenIssuer.html#issue(org.apache.rahas.RahasData)">issue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - A populated <code>RahasData</code> instance</dd>
<dt><span class="strong">Returns:</span></dt><dd>A SOAP message with security token response (as per ws-trust spec) with a SAML2 assertion.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the response.</dd></dl>
</li>
</ul>
<a name="createRequestSecurityTokenResponse(org.apache.rahas.RahasData, org.opensaml.saml2.core.Assertion, org.apache.axiom.soap.SOAPEnvelope)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRequestSecurityTokenResponse</h4>
<pre>protected&nbsp;org.apache.axiom.soap.SOAPEnvelope&nbsp;createRequestSecurityTokenResponse(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;rahasData,
org.opensaml.saml2.core.Assertion&nbsp;assertion,
org.apache.axiom.soap.SOAPEnvelope&nbsp;soapEnvelope)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method prepares the final response. This method will create a request security token response as
specified in WS-Trust specification. The equivalent XML would take following format,
<pre> &lt;wst:RequestSecurityTokenResponse xmlns:wst="..."&gt;
&lt;wst:TokenType&gt;...&lt;/wst:TokenType&gt;
&lt;wst:RequestedSecurityToken&gt;...&lt;/wst:RequestedSecurityToken&gt;
...
&lt;wsp:AppliesTo xmlns:wsp="..."&gt;...&lt;/wsp:AppliesTo&gt;
&lt;wst:RequestedAttachedReference&gt;
...
&lt;/wst:RequestedAttachedReference&gt;
&lt;wst:RequestedUnattachedReference&gt;
...
&lt;/wst:RequestedUnattachedReference&gt;
&lt;wst:RequestedProofToken&gt;...&lt;/wst:RequestedProofToken&gt;
&lt;wst:Entropy&gt;
&lt;wst:BinarySecret&gt;...&lt;/wst:BinarySecret&gt;
&lt;/wst:Entropy&gt;
&lt;wst:Lifetime&gt;...&lt;/wst:Lifetime&gt;
&lt;/wst:RequestSecurityTokenResponse&gt;</pre>
Thus the RequestedSecurityToken will have SAML2 assertion passed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rahasData</code> - The configuration data which comes with RST</dd><dd><code>assertion</code> - OpenSAM representation of SAML2 assertion.</dd><dd><code>soapEnvelope</code> - SOAP message envelope</dd>
<dt><span class="strong">Returns:</span></dt><dd>SOAPEnvelope which includes RequestSecurityTokenResponse</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating RequestSecurityTokenResponse.</dd></dl>
</li>
</ul>
<a name="buildAssertion(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildAssertion</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.Assertion&nbsp;buildAssertion(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This methods builds the SAML2 assertion. The equivalent XML would look as follows,
<pre>&lt;saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
ID="b07b804c-7c29-ea16-7300-4f3d6f7928ac"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z"&gt;
&lt;saml:Issuer&gt;https://idp.example.org/SAML2&lt;/saml:Issuer&gt;
&lt;ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"&gt;...&lt;/ds:Signature&gt;
&lt;saml:Subject&gt;
&lt;saml:NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"&gt;
3f7b3dcf-1674-4ecd-92c8-1544f346baf8
&lt;/saml:NameID&gt;
&lt;saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"&gt;
&lt;saml:SubjectConfirmationData
InResponseTo="aaf23196-1773-2113-474a-fe114412ab72"
Recipient="https://sp.example.com/SAML2/SSO/POST"
NotOnOrAfter="2004-12-05T09:27:05Z"/&gt;
&lt;/saml:SubjectConfirmation&gt;
&lt;/saml:Subject&gt;
&lt;saml:Conditions
NotBefore="2004-12-05T09:17:05Z"
NotOnOrAfter="2004-12-05T09:27:05Z"&gt;
&lt;saml:AudienceRestriction&gt;
&lt;saml:Audience&gt;https://sp.example.com/SAML2&lt;/saml:Audience&gt;
&lt;/saml:AudienceRestriction&gt;
&lt;/saml:Conditions&gt;
&lt;saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="b07b804c-7c29-ea16-7300-4f3d6f7928ac"&gt;
&lt;saml:AuthnContext&gt;
&lt;saml:AuthnContextClassRef&gt;
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
&lt;/saml:AuthnContextClassRef&gt;
&lt;/saml:AuthnContext&gt;
&lt;/saml:AuthnStatement&gt;
&lt;saml:AttributeStatement&gt;
&lt;saml:Attribute
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
x500:Encoding="LDAP"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
FriendlyName="eduPersonAffiliation"&gt;
&lt;saml:AttributeValue
xsi:type="xs:string"&gt;member&lt;/saml:AttributeValue&gt;
&lt;saml:AttributeValue
xsi:type="xs:string"&gt;staff&lt;/saml:AttributeValue&gt;
&lt;/saml:Attribute&gt;
&lt;/saml:AttributeStatement&gt;
&lt;/saml:Assertion&gt;</pre>
Reference - en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Assertions</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>doc</code> - The Document which comprises SAML 2 assertion.</dd><dd><code>crypto</code> - Crypto properties.</dd><dd><code>data</code> - The RST data and other configuration information.</dd>
<dt><span class="strong">Returns:</span></dt><dd>OpenSAML representation of an Assertion.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the Assertion.</dd></dl>
</li>
</ul>
<a name="createSubjectWithHolderOfKeySubjectConfirmation(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.joda.time.DateTime, org.joda.time.DateTime, org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSubjectWithHolderOfKeySubjectConfirmation</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.Subject&nbsp;createSubjectWithHolderOfKeySubjectConfirmation(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
org.joda.time.DateTime&nbsp;creationTime,
org.joda.time.DateTime&nbsp;expirationTime,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method will create a SAML 2 subject based on Holder of Key confirmation method.
The relevant XML would look as follows,
<pre> &lt;saml2:Subject&gt;
&lt;saml2:NameID&gt;
...
&lt;/saml2:NameID&gt;
&lt;saml2:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:holder-of-key"&gt;
&lt;saml2:SubjectConfirmationData
xsi:type="saml2:KeyInfoConfirmationDataType"&gt;
&lt;ds:KeyInfo&gt;
&lt;ds:KeyValue&gt;...&lt;/ds:KeyValue&gt;
&lt;/ds:KeyInfo&gt;
&lt;/saml2:SubjectConfirmationData&gt;
&lt;/saml2:SubjectConfirmation&gt;
&lt;/saml2:Subject&gt;</pre>
KeyInfo can be created based on public key or symmetric key. That is decided by looking at
the RahasData.getKeyType. TODO make sure this implementation is correct.
Theoretically we should be able to have many subject confirmation methods in a SAML2 subject.
TODO - Do we need to support that ?</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>doc</code> - The original XML document which we need to include the assertion.</dd><dd><code>crypto</code> - The relevant crypto properties</dd><dd><code>creationTime</code> - The time that assertion was created.</dd><dd><code>expirationTime</code> - The expiring time</dd><dd><code>data</code> - The configuration data relevant request.</dd>
<dt><span class="strong">Returns:</span></dt><dd>OpenSAML representation of the SAML2 object.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the subject.</dd></dl>
</li>
</ul>
<a name="createSubjectWithBearerSubjectConfirmation(org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSubjectWithBearerSubjectConfirmation</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.Subject&nbsp;createSubjectWithBearerSubjectConfirmation(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method creates a subject element with the bearer subject confirmation method.
<pre> &lt;saml:Subject&gt;
&lt;saml:NameIdentifier
NameQualifier="www.example.com"
Format="urn:oasis:names:tc:SAML:1.1:nameid-
format:X509SubjectName"&gt;
uid=joe,ou=people,ou=saml-demo,o=baltimore.com
&lt;/saml:NameIdentifier&gt;
&lt;saml:SubjectConfirmation&gt;
&lt;saml:ConfirmationMethod&gt;
urn:oasis:names:tc:SAML:1.0:cm:bearer
&lt;/saml:ConfirmationMethod&gt;
&lt;/saml:SubjectConfirmation&gt;
&lt;/saml:Subject&gt;</pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - RahasData element</dd>
<dt><span class="strong">Returns:</span></dt><dd>SAML 2.0 Subject element with Bearer subject confirmation</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - if an error occurred while creating the subject.</dd></dl>
</li>
</ul>
<a name="signAssertion(org.w3c.dom.Document, org.opensaml.saml2.core.Assertion, org.apache.ws.security.components.crypto.Crypto)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>signAssertion</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.Assertion&nbsp;signAssertion(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;document,
org.opensaml.saml2.core.Assertion&nbsp;assertion,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method signs the given assertion with issuer's private key.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>document</code> - The original RST document.</dd><dd><code>assertion</code> - Assertion to be signed.</dd><dd><code>crypto</code> - The cryptographic properties.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The signed assertion.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while signing the assertion.</dd></dl>
</li>
</ul>
<a name="createAttributeStatement(org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAttributeStatement</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.AttributeStatement&nbsp;createAttributeStatement(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method creates an AttributeStatement. The relevant XML would look like as follows,
<pre> &lt;saml:AttributeStatement&gt;
&lt;saml:Attribute
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
x500:Encoding="LDAP"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
FriendlyName="eduPersonAffiliation"&gt;
&lt;saml:AttributeValue
xsi:type="xs:string"&gt;member&lt;/saml:AttributeValue&gt;
&lt;saml:AttributeValue
xsi:type="xs:string"&gt;staff&lt;/saml:AttributeValue&gt;
&lt;/saml:Attribute&gt;
&lt;/saml:AttributeStatement&gt;</pre>
Reference - http://en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Assertions</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - The RahasData which carry information about RST.</dd>
<dt><span class="strong">Returns:</span></dt><dd>An AttributeStatement with filled attributes retrieved by calling callback class.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the AttributeStatement.</dd></dl>
</li>
</ul>
<a name="createAuthenticationStatement(org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAuthenticationStatement</h4>
<pre>protected&nbsp;org.opensaml.saml2.core.AuthnStatement&nbsp;createAuthenticationStatement(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method creates an authentication statement. The equivalent XML would look as follows,
<pre> &lt;saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="b07b804c-7c29-ea16-7300-4f3d6f7928ac"&gt;
&lt;saml:AuthnContext&gt;
&lt;saml:AuthnContextClassRef&gt;
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
&lt;/saml:AuthnContextClassRef&gt;
&lt;/saml:AuthnContext&gt;
&lt;/saml:AuthnStatement&gt;</pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - The RahasData which carry information about RST.</dd>
<dt><span class="strong">Returns:</span></dt><dd>OpenSAML representation of an AuthnStatement class.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the authentication statement.</dd></dl>
</li>
</ul>
<a name="setSubjectNamedIdentifierData(org.opensaml.saml2.core.Subject, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSubjectNamedIdentifierData</h4>
<pre>protected static&nbsp;void&nbsp;setSubjectNamedIdentifierData(org.opensaml.saml2.core.Subject&nbsp;subject,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;subjectNameId,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method will set the subject principal details to the given subject.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>subject</code> - The subject.</dd><dd><code>subjectNameId</code> - Subject name id, to identify the principal</dd><dd><code>format</code> - Format of the subjectNameId, i.e. email, x509subject etc ...</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while building NameID.</dd></dl>
</li>
</ul>
<a name="createKeyInfo(org.w3c.dom.Document, org.apache.ws.security.components.crypto.Crypto, org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createKeyInfo</h4>
<pre>protected&nbsp;org.opensaml.xml.signature.KeyInfo&nbsp;createKeyInfo(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html?is-external=true" title="class or interface in org.w3c.dom">Document</a>&nbsp;doc,
org.apache.ws.security.components.crypto.Crypto&nbsp;crypto,
<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block">This method creates the KeyInfo relevant for the assertion. The KeyInfo could be created in 2 ways.
1. Using symmetric key - KeyInfo is created using a symmetric key
2. Using a public key - KeyInfo created using a public key
The methodology is decided by looking at RahasData.getKeyType() method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>doc</code> - The document which we are processing.</dd><dd><code>crypto</code> - Includes crypto properties relevant to issuer.</dd><dd><code>data</code> - Includes metadata about the RST.</dd>
<dt><span class="strong">Returns:</span></dt><dd>OpenSAML representation of KeyInfo.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while creating the KeyInfo object.</dd></dl>
</li>
</ul>
<a name="getResponseAction(org.apache.rahas.RahasData)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponseAction</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getResponseAction(<a href="../../../../org/apache/rahas/RahasData.html" title="class in org.apache.rahas">RahasData</a>&nbsp;data)
throws <a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html#getResponseAction(org.apache.rahas.RahasData)">TokenIssuer</a></code></strong></div>
<div class="block">Returns the <code>wsa:Action</code> of the response.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/rahas/TokenIssuer.html#getResponseAction(org.apache.rahas.RahasData)">getResponseAction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - A populated <code>RahasData</code> instance</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the <code>wsa:Action</code> of the response</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/rahas/TrustException.html" title="class in org.apache.rahas">TrustException</a></code> - If an error occurred while during operation.</dd></dl>
</li>
</ul>
<a name="setConfigurationFile(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigurationFile</h4>
<pre>public&nbsp;void&nbsp;setConfigurationFile(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configFile)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationFile(java.lang.String)">TokenIssuer</a></code></strong></div>
<div class="block">Set the configuration file of this TokenIssuer.
<p>
This is the text value of the &lt;configuration-file&gt; element of the
token-dispatcher-configuration</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationFile(java.lang.String)">setConfigurationFile</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>configFile</code> - Sets the token issuer configuration file.</dd></dl>
</li>
</ul>
<a name="setConfigurationElement(org.apache.axiom.om.OMElement)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfigurationElement</h4>
<pre>public&nbsp;void&nbsp;setConfigurationElement(org.apache.axiom.om.OMElement&nbsp;configElement)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationElement(org.apache.axiom.om.OMElement)">TokenIssuer</a></code></strong></div>
<div class="block">Set the configuration element of this TokenIssuer.
<p>
This is the &lt;configuration&gt; element of the
token-dispatcher-configuration</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationElement(org.apache.axiom.om.OMElement)">setConfigurationElement</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>configElement</code> - <code>OMElement</code> representing the configuration</dd></dl>
</li>
</ul>
<a name="setConfigurationParamName(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setConfigurationParamName</h4>
<pre>public&nbsp;void&nbsp;setConfigurationParamName(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configParamName)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationParamName(java.lang.String)">TokenIssuer</a></code></strong></div>
<div class="block">Set the name of the configuration parameter.
<p>
If this is used then there must be a
<code>org.apache.axis2.description.Parameter</code> object available in
the via the messageContext when the <code>TokenIssuer</code> is called.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/rahas/TokenIssuer.html#setConfigurationParamName(java.lang.String)">setConfigurationParamName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/rahas/TokenIssuer.html" title="interface in org.apache.rahas">TokenIssuer</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>configParamName</code> - The configuration parameter to be set.</dd><dt><span class="strong">See Also:</span></dt><dd><code>Parameter</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SAML2TokenIssuer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/rahas/impl/AbstractIssuerConfig.KeyComputation.html" title="class in org.apache.rahas.impl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/rahas/impl/SAMLTokenIssuer.html" title="class in org.apache.rahas.impl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/rahas/impl/SAML2TokenIssuer.html" target="_top">Frames</a></li>
<li><a href="SAML2TokenIssuer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>