blob: 987ff89de4ad4cdd84d92a8d04aff12ec282312c [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>
<!-- Generated by javadoc (1.8.0_92) on Thu Jun 07 14:26:26 EDT 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CertificateValidator (Jetty :: Project 9.3.24.v20180605 API)</title>
<meta name="date" content="2018-06-07">
<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="CertificateValidator (Jetty :: Project 9.3.24.v20180605 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CertificateValidator.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/eclipse/jetty/util/security/CertificateUtils.html" title="class in org.eclipse.jetty.util.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/jetty/util/security/Constraint.html" title="class in org.eclipse.jetty.util.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/jetty/util/security/CertificateValidator.html" target="_top">Frames</a></li>
<li><a href="CertificateValidator.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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.eclipse.jetty.util.security</div>
<h2 title="Class CertificateValidator" class="title">Class CertificateValidator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.util.security.CertificateValidator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">CertificateValidator</span>
extends java.lang.Object</pre>
<div class="block">Convenience class to handle validation of certificates, aliases and keystores
Allows specifying Certificate Revocation List (CRL), as well as enabling
CRL Distribution Points Protocol (CRLDP) certificate extension support,
and also enabling On-Line Certificate Status Protocol (OCSP) support.
IMPORTANT: at least one of the above mechanisms *MUST* be configured and
operational, otherwise certificate validation *WILL FAIL* unconditionally.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#CertificateValidator-java.security.KeyStore-java.util.Collection-">CertificateValidator</a></span>(java.security.KeyStore&nbsp;trustStore,
java.util.Collection&lt;? extends java.security.cert.CRL&gt;&nbsp;crls)</code>
<div class="block">creates an instance of the certificate validator</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.util.Collection&lt;? extends java.security.cert.CRL&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#getCrls--">getCrls</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#getMaxCertPathLength--">getMaxCertPathLength</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#getOcspResponderURL--">getOcspResponderURL</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.security.KeyStore</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#getTrustStore--">getTrustStore</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#isEnableCRLDP--">isEnableCRLDP</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#isEnableOCSP--">isEnableOCSP</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#setEnableCRLDP-boolean-">setEnableCRLDP</a></span>(boolean&nbsp;enableCRLDP)</code>
<div class="block">Enables CRL Distribution Points Support</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#setEnableOCSP-boolean-">setEnableOCSP</a></span>(boolean&nbsp;enableOCSP)</code>
<div class="block">Enables On-Line Certificate Status Protocol support</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#setMaxCertPathLength-int-">setMaxCertPathLength</a></span>(int&nbsp;maxCertPathLength)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#setOcspResponderURL-java.lang.String-">setOcspResponderURL</a></span>(java.lang.String&nbsp;ocspResponderURL)</code>
<div class="block">Set the location of the OCSP Responder.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#validate-java.security.cert.Certificate:A-">validate</a></span>(java.security.cert.Certificate[]&nbsp;certChain)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#validate-java.security.KeyStore-">validate</a></span>(java.security.KeyStore&nbsp;keyStore)</code>
<div class="block">validates all aliases inside of a given keystore</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#validate-java.security.KeyStore-java.security.cert.Certificate-">validate</a></span>(java.security.KeyStore&nbsp;keyStore,
java.security.cert.Certificate&nbsp;cert)</code>
<div class="block">validates a specific certificate inside of the keystore being passed in</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/jetty/util/security/CertificateValidator.html#validate-java.security.KeyStore-java.lang.String-">validate</a></span>(java.security.KeyStore&nbsp;keyStore,
java.lang.String&nbsp;keyAlias)</code>
<div class="block">validates a specific alias inside of the keystore being passed in</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CertificateValidator-java.security.KeyStore-java.util.Collection-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CertificateValidator</h4>
<pre>public&nbsp;CertificateValidator(java.security.KeyStore&nbsp;trustStore,
java.util.Collection&lt;? extends java.security.cert.CRL&gt;&nbsp;crls)</pre>
<div class="block">creates an instance of the certificate validator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trustStore</code> - the truststore to use</dd>
<dd><code>crls</code> - the Certificate Revocation List to use</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="validate-java.security.KeyStore-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;void&nbsp;validate(java.security.KeyStore&nbsp;keyStore)
throws java.security.cert.CertificateException</pre>
<div class="block">validates all aliases inside of a given keystore</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStore</code> - the keystore to validate</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.security.cert.CertificateException</code> - if keystore error and unable to validate</dd>
</dl>
</li>
</ul>
<a name="validate-java.security.KeyStore-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;java.lang.String&nbsp;validate(java.security.KeyStore&nbsp;keyStore,
java.lang.String&nbsp;keyAlias)
throws java.security.cert.CertificateException</pre>
<div class="block">validates a specific alias inside of the keystore being passed in</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStore</code> - the keystore to validate</dd>
<dd><code>keyAlias</code> - the keyalias in the keystore to valid with</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the keyAlias if valid</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.security.cert.CertificateException</code> - if keystore error and unable to validate</dd>
</dl>
</li>
</ul>
<a name="validate-java.security.KeyStore-java.security.cert.Certificate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;void&nbsp;validate(java.security.KeyStore&nbsp;keyStore,
java.security.cert.Certificate&nbsp;cert)
throws java.security.cert.CertificateException</pre>
<div class="block">validates a specific certificate inside of the keystore being passed in</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStore</code> - the keystore to validate against</dd>
<dd><code>cert</code> - the certificate to validate</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.security.cert.CertificateException</code> - if keystore error and unable to validate</dd>
</dl>
</li>
</ul>
<a name="validate-java.security.cert.Certificate:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validate</h4>
<pre>public&nbsp;void&nbsp;validate(java.security.cert.Certificate[]&nbsp;certChain)
throws java.security.cert.CertificateException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.security.cert.CertificateException</code></dd>
</dl>
</li>
</ul>
<a name="getTrustStore--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStore</h4>
<pre>public&nbsp;java.security.KeyStore&nbsp;getTrustStore()</pre>
</li>
</ul>
<a name="getCrls--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCrls</h4>
<pre>public&nbsp;java.util.Collection&lt;? extends java.security.cert.CRL&gt;&nbsp;getCrls()</pre>
</li>
</ul>
<a name="getMaxCertPathLength--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxCertPathLength</h4>
<pre>public&nbsp;int&nbsp;getMaxCertPathLength()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of intermediate certificates in
the certification path (-1 for unlimited)</dd>
</dl>
</li>
</ul>
<a name="setMaxCertPathLength-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxCertPathLength</h4>
<pre>public&nbsp;void&nbsp;setMaxCertPathLength(int&nbsp;maxCertPathLength)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxCertPathLength</code> - maximum number of intermediate certificates in
the certification path (-1 for unlimited)</dd>
</dl>
</li>
</ul>
<a name="isEnableCRLDP--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnableCRLDP</h4>
<pre>public&nbsp;boolean&nbsp;isEnableCRLDP()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if CRL Distribution Points support is enabled</dd>
</dl>
</li>
</ul>
<a name="setEnableCRLDP-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnableCRLDP</h4>
<pre>public&nbsp;void&nbsp;setEnableCRLDP(boolean&nbsp;enableCRLDP)</pre>
<div class="block">Enables CRL Distribution Points Support</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enableCRLDP</code> - true - turn on, false - turns off</dd>
</dl>
</li>
</ul>
<a name="isEnableOCSP--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnableOCSP</h4>
<pre>public&nbsp;boolean&nbsp;isEnableOCSP()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if On-Line Certificate Status Protocol support is enabled</dd>
</dl>
</li>
</ul>
<a name="setEnableOCSP-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnableOCSP</h4>
<pre>public&nbsp;void&nbsp;setEnableOCSP(boolean&nbsp;enableOCSP)</pre>
<div class="block">Enables On-Line Certificate Status Protocol support</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enableOCSP</code> - true - turn on, false - turn off</dd>
</dl>
</li>
</ul>
<a name="getOcspResponderURL--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOcspResponderURL</h4>
<pre>public&nbsp;java.lang.String&nbsp;getOcspResponderURL()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Location of the OCSP Responder</dd>
</dl>
</li>
</ul>
<a name="setOcspResponderURL-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setOcspResponderURL</h4>
<pre>public&nbsp;void&nbsp;setOcspResponderURL(java.lang.String&nbsp;ocspResponderURL)</pre>
<div class="block">Set the location of the OCSP Responder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ocspResponderURL</code> - location of the OCSP Responder</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>
<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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CertificateValidator.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/eclipse/jetty/util/security/CertificateUtils.html" title="class in org.eclipse.jetty.util.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/jetty/util/security/Constraint.html" title="class in org.eclipse.jetty.util.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/jetty/util/security/CertificateValidator.html" target="_top">Frames</a></li>
<li><a href="CertificateValidator.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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 &#169; 1995&#x2013;2018 <a href="http://webtide.com">Webtide</a>. All rights reserved.</small></p>
</body>
</html>