blob: f3e7c606a0acbc0bad0bd7d8934e8eacf0322363 [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>
<title>org.eclipse.net4j.util.security (Net4j Utilities Documentation)</title>
<meta name="date" content="">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.eclipse.net4j.util.security (Net4j Utilities Documentation)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</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/eclipse/net4j/util/registry/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/eclipse/net4j/util/transaction/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/net4j/util/security/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.eclipse.net4j.util.security</h1>
<div class="docSummary">
<div class="block">Interfaces and classes for security, negotiation, authentication, authorization and cryptography.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IAuthenticator.html" title="interface in org.eclipse.net4j.util.security">IAuthenticator</a></td>
<td class="colLast">
<div class="block">Authenticates users.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IAuthenticator2.html" title="interface in org.eclipse.net4j.util.security">IAuthenticator2</a></td>
<td class="colLast">
<div class="block">Extension interface for authenticators that can update user credentials in addition to authenticating them.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IChallengeResponse.html" title="interface in org.eclipse.net4j.util.security">IChallengeResponse</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ICredentials.html" title="interface in org.eclipse.net4j.util.security">ICredentials</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ICredentialsProvider.html" title="interface in org.eclipse.net4j.util.security">ICredentialsProvider</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ICredentialsProvider2.html" title="interface in org.eclipse.net4j.util.security">ICredentialsProvider2</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/INegotiationContext.html" title="interface in org.eclipse.net4j.util.security">INegotiationContext</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/INegotiationContext.Receiver.html" title="interface in org.eclipse.net4j.util.security">INegotiationContext.Receiver</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/INegotiator.html" title="interface in org.eclipse.net4j.util.security">INegotiator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/INegotiatorAware.html" title="interface in org.eclipse.net4j.util.security">INegotiatorAware</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentials.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentials</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsProvider.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentialsProvider</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsProvider.Provider.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentialsProvider.Provider</a></td>
<td class="colLast">
<div class="block">Interface implemented by protocol objects that can supply an
<a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsProvider.html" title="interface in org.eclipse.net4j.util.security"><code>IPasswordCredentialsProvider</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsProvider2.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentialsProvider2</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsUpdate.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentialsUpdate</a></td>
<td class="colLast">
<div class="block">Password credentials with an update (new password) in addition to the usual
user ID and password for authentication of the password change.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsUpdateProvider.html" title="interface in org.eclipse.net4j.util.security">IPasswordCredentialsUpdateProvider</a></td>
<td class="colLast">
<div class="block">Interface for providers of password credentials updates.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IRandomizer.html" title="interface in org.eclipse.net4j.util.security">IRandomizer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IUserAware.html" title="interface in org.eclipse.net4j.util.security">IUserAware</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IUserManager.html" title="interface in org.eclipse.net4j.util.security">IUserManager</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/AuthenticatorFactory.html" title="class in org.eclipse.net4j.util.security">AuthenticatorFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ChallengeNegotiator.html" title="class in org.eclipse.net4j.util.security">ChallengeNegotiator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ChallengeNegotiatorConfigurer.html" title="class in org.eclipse.net4j.util.security">ChallengeNegotiatorConfigurer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ChallengeNegotiatorFactory.html" title="class in org.eclipse.net4j.util.security">ChallengeNegotiatorFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ChallengeResponseNegotiator.html" title="class in org.eclipse.net4j.util.security">ChallengeResponseNegotiator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/Credentials.html" title="class in org.eclipse.net4j.util.security">Credentials</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/CredentialsProviderFactory.html" title="class in org.eclipse.net4j.util.security">CredentialsProviderFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.html" title="class in org.eclipse.net4j.util.security">DiffieHellman</a></td>
<td class="colLast">
<div class="block">Executes the Diffie-Hellman key agreement protocol between 2 parties: <a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Server.html" title="class in org.eclipse.net4j.util.security"><code>DiffieHellman.Server</code></a> and <a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Client.html" title="class in org.eclipse.net4j.util.security"><code>DiffieHellman.Client</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Client.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.Client</a></td>
<td class="colLast">
<div class="block">Executes the client-side of the Diffie-Hellman key agreement protocol.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Client.Response.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.Client.Response</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.ParameterSpecGenerator.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.ParameterSpecGenerator</a></td>
<td class="colLast">
<div class="block">Creates Diffie-Hellman parameters.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Server.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.Server</a></td>
<td class="colLast">
<div class="block">Executes the server-side of the Diffie-Hellman key agreement protocol.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.Server.Challenge.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.Server.Challenge</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/DiffieHellman.SkipParameterSpec.html" title="class in org.eclipse.net4j.util.security">DiffieHellman.SkipParameterSpec</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/FileAuthenticatorFactory.html" title="class in org.eclipse.net4j.util.security">FileAuthenticatorFactory</a></td>
<td class="colLast">
<div class="block">TODO Consider file attributes when creating initially empty file</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/FileUserManager.html" title="class in org.eclipse.net4j.util.security">FileUserManager</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/FileUserManagerFactory.html" title="class in org.eclipse.net4j.util.security">FileUserManagerFactory</a></td>
<td class="colLast">
<div class="block">TODO Consider file attributes when creating initially empty file</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/NegotiationContext.html" title="class in org.eclipse.net4j.util.security">NegotiationContext</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/Negotiator.html" title="class in org.eclipse.net4j.util.security">Negotiator</a>&lt;STATE extends java.lang.Enum&lt;?&gt;,EVENT extends java.lang.Enum&lt;?&gt;&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/NegotiatorFactory.html" title="class in org.eclipse.net4j.util.security">NegotiatorFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/PasswordCredentials.html" title="class in org.eclipse.net4j.util.security">PasswordCredentials</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/PasswordCredentialsProvider.html" title="class in org.eclipse.net4j.util.security">PasswordCredentialsProvider</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/PasswordCredentialsProvider.Delegating.html" title="class in org.eclipse.net4j.util.security">PasswordCredentialsProvider.Delegating</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/PasswordCredentialsUpdate.html" title="class in org.eclipse.net4j.util.security">PasswordCredentialsUpdate</a></td>
<td class="colLast">
<div class="block">Default implementation of the <a href="../../../../../org/eclipse/net4j/util/security/IPasswordCredentialsUpdate.html" title="interface in org.eclipse.net4j.util.security"><code>IPasswordCredentialsUpdate</code></a> interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/Randomizer.html" title="class in org.eclipse.net4j.util.security">Randomizer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/RandomizerFactory.html" title="class in org.eclipse.net4j.util.security">RandomizerFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ResponseNegotiator.html" title="class in org.eclipse.net4j.util.security">ResponseNegotiator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ResponseNegotiatorFactory.html" title="class in org.eclipse.net4j.util.security">ResponseNegotiatorFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/ResponseNegotiatorInjector.html" title="class in org.eclipse.net4j.util.security">ResponseNegotiatorInjector</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/SecurityUtil.html" title="class in org.eclipse.net4j.util.security">SecurityUtil</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/UserManager.html" title="class in org.eclipse.net4j.util.security">UserManager</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/UserManagerAuthenticator.html" title="class in org.eclipse.net4j.util.security">UserManagerAuthenticator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/UserManagerFactory.html" title="class in org.eclipse.net4j.util.security">UserManagerFactory</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/CredentialsUpdateOperation.html" title="enum in org.eclipse.net4j.util.security">CredentialsUpdateOperation</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IChallengeResponse.Event.html" title="enum in org.eclipse.net4j.util.security">IChallengeResponse.Event</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/IChallengeResponse.State.html" title="enum in org.eclipse.net4j.util.security">IChallengeResponse.State</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/NegotiationException.html" title="class in org.eclipse.net4j.util.security">NegotiationException</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/eclipse/net4j/util/security/NotAuthenticatedException.html" title="class in org.eclipse.net4j.util.security">NotAuthenticatedException</a></td>
<td class="colLast">
<div class="block">An unchecked <code>security exception</code> indicating that a user has canceled an attempt to authenticate himself.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.eclipse.net4j.util.security Description">Package org.eclipse.net4j.util.security Description</h2>
<div class="block">Interfaces and classes for security, negotiation, authentication, authorization and cryptography.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</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/eclipse/net4j/util/registry/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/eclipse/net4j/util/transaction/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/net4j/util/security/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><i class="copyright">Copyright (c) 2004-2019 Eike Stepper (Loehne, Germany) and others.<br>All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html</i></small></p>
</body>
</html>