blob: b5368f581f7fe33c1e696870a25507a5989d7c5e [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>UniqueMessageAttributeCache (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="UniqueMessageAttributeCache (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/UniqueMessageAttributeCache.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/rampart/TokenCallbackHandler.html" title="class in org.apache.rampart"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/rampart/ValidatorData.html" title="class in org.apache.rampart"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/rampart/UniqueMessageAttributeCache.html" target="_top">Frames</a></li>
<li><a href="UniqueMessageAttributeCache.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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.rampart</div>
<h2 title="Interface UniqueMessageAttributeCache" class="title">Interface UniqueMessageAttributeCache</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/rampart/AbstractUniqueMessageAttributeCache.html" title="class in org.apache.rampart">AbstractUniqueMessageAttributeCache</a>, <a href="../../../org/apache/rampart/NonceCache.html" title="class in org.apache.rampart">NonceCache</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">UniqueMessageAttributeCache</span></pre>
<div class="block">An interface to cache nonce/sequence number values coming with messages.
This mainly helps to prevent replay attacks. There are few different ways to handle replay attacks.
1. Cache nonce values.
2. Use a sequence number.
"Web Services Security UsernameToken Profile 1.1 OASIS Standard Specification, 1 February 2006" specification only recommends
to cache nonce for a period. But there can be other mechanisms like using sequence number.
Therefore cache is implemented as an interface and later if we need to support sequence number scenario we can easily extend this.
User: aj
Date: Apr 30, 2010
Time: 12:15:52 PM
To change this template use File | Settings | File Templates.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/rampart/UniqueMessageAttributeCache.html#addToCache(java.lang.String, java.lang.String)">addToCache</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;id,
<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;userName)</code>
<div class="block">Add value to a cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/rampart/UniqueMessageAttributeCache.html#clearCache()">clearCache</a></strong>()</code>
<div class="block">Clears all recorded nonce values/sequence numbers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/rampart/UniqueMessageAttributeCache.html#getMaximumLifeTimeOfAnAttribute()">getMaximumLifeTimeOfAnAttribute</a></strong>()</code>
<div class="block">Gets the maximum life time of a message id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/rampart/UniqueMessageAttributeCache.html#setMaximumLifeTimeOfAnAttribute(int)">setMaximumLifeTimeOfAnAttribute</a></strong>(int&nbsp;maxTime)</code>
<div class="block">Sets the maximum life time of a message id.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/apache/rampart/UniqueMessageAttributeCache.html#valueExistsInCache(java.lang.String, java.lang.String)">valueExistsInCache</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;id,
<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;userName)</code>
<div class="block">Checks whether value already exists in the cache for a given user name.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setMaximumLifeTimeOfAnAttribute(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaximumLifeTimeOfAnAttribute</h4>
<pre>void&nbsp;setMaximumLifeTimeOfAnAttribute(int&nbsp;maxTime)</pre>
<div class="block">Sets the maximum life time of a message id.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxTime</code> - Maximum life time in seconds.</dd></dl>
</li>
</ul>
<a name="getMaximumLifeTimeOfAnAttribute()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximumLifeTimeOfAnAttribute</h4>
<pre>int&nbsp;getMaximumLifeTimeOfAnAttribute()</pre>
<div class="block">Gets the maximum life time of a message id.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Gets message id life time in seconds.</dd></dl>
</li>
</ul>
<a name="addToCache(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addToCache</h4>
<pre>void&nbsp;addToCache(<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;id,
<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;userName)</pre>
<div class="block">Add value to a cache. Value can be sequence or nonce value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - - Nonce value or sequence number.</dd><dd><code>userName</code> - - User name parameter value of the UserNameToken.</dd></dl>
</li>
</ul>
<a name="valueExistsInCache(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueExistsInCache</h4>
<pre>boolean&nbsp;valueExistsInCache(<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;id,
<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;userName)</pre>
<div class="block">Checks whether value already exists in the cache for a given user name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - - Nonce or sequence id value of the newly received message.</dd><dd><code>userName</code> - - User name parameter value of the UserName token.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns true if nonce or sequence id is already received for given user name. Else false.</dd></dl>
</li>
</ul>
<a name="clearCache()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clearCache</h4>
<pre>void&nbsp;clearCache()</pre>
<div class="block">Clears all recorded nonce values/sequence numbers.</div>
</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/UniqueMessageAttributeCache.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/rampart/TokenCallbackHandler.html" title="class in org.apache.rampart"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/apache/rampart/ValidatorData.html" title="class in org.apache.rampart"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/rampart/UniqueMessageAttributeCache.html" target="_top">Frames</a></li>
<li><a href="UniqueMessageAttributeCache.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>