blob: eb36db338ec8c322cac65192320c51546593759f [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>X509Util (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<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="X509Util (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/X509Util.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/hadoop/hbase/io/crypto/tls/StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/crypto/tls/X509Util.html" target="_top">Frames</a></li>
<li><a href="X509Util.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><a href="#nested.class.summary">Nested</a>&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.hadoop.hbase.io.crypto.tls</div>
<h2 title="Class X509Util" class="title">Class X509Util</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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.hadoop.hbase.io.crypto.tls.X509Util</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public final class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.71">X509Util</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Utility code for X509 handling Default cipher suites: Performance testing done by Facebook
engineers shows that on Intel x86_64 machines, Java9 performs better with GCM and Java8 performs
better with CBC, so these seem like reasonable defaults.
<p/>
This file has been copied from the Apache ZooKeeper project.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href=
"https://github.com/apache/zookeeper/blob/c74658d398cdc1d207aa296cb6e20de00faec03e/zookeeper-server/src/main/java/org/apache/zookeeper/common/X509Util.java">Base
revision</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls">X509Util.ClientAuth</a></span></code>
<div class="block">Enum specifying the client auth requirement of server-side TLS sockets created by this
X509Util.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" 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>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#CONFIG_PREFIX">CONFIG_PREFIX</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_CIPHERS_JAVA11">DEFAULT_CIPHERS_JAVA11</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_CIPHERS_JAVA8">DEFAULT_CIPHERS_JAVA8</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_CIPHERS_JAVA9">DEFAULT_CIPHERS_JAVA9</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_CIPHERS_OPENSSL">DEFAULT_CIPHERS_OPENSSL</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS">DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE">DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#DEFAULT_PROTOCOL">DEFAULT_PROTOCOL</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#EMPTY_CHAR_ARRAY">EMPTY_CHAR_ARRAY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_CLIENT_NETTY_TLS_ENABLED">HBASE_CLIENT_NETTY_TLS_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT">HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME">HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE">HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_SERVER_NETTY_TLS_ENABLED">HBASE_SERVER_NETTY_TLS_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT">HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME">HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#HBASE_SERVER_NETTY_TLS_WRAP_SIZE">HBASE_SERVER_NETTY_TLS_WRAP_SIZE</a></span></code>
<div class="block">Set the SSL wrapSize for netty.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CERT_RELOAD">TLS_CERT_RELOAD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CIPHER_SUITES">TLS_CIPHER_SUITES</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_CLR">TLS_CONFIG_CLR</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_KEYSTORE_LOCATION">TLS_CONFIG_KEYSTORE_LOCATION</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_KEYSTORE_PASSWORD">TLS_CONFIG_KEYSTORE_PASSWORD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_KEYSTORE_TYPE">TLS_CONFIG_KEYSTORE_TYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_OCSP">TLS_CONFIG_OCSP</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_PROTOCOL">TLS_CONFIG_PROTOCOL</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED">TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_TRUSTSTORE_LOCATION">TLS_CONFIG_TRUSTSTORE_LOCATION</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_TRUSTSTORE_PASSWORD">TLS_CONFIG_TRUSTSTORE_PASSWORD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_CONFIG_TRUSTSTORE_TYPE">TLS_CONFIG_TRUSTSTORE_TYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_ENABLED_PROTOCOLS">TLS_ENABLED_PROTOCOLS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#TLS_USE_OPENSSL">TLS_USE_OPENSSL</a></span></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="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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#X509Util--">X509Util</a></span>()</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="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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#configureOpenSslIfAvailable-org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContextBuilder-org.apache.hadoop.conf.Configuration-">configureOpenSslIfAvailable</a></span>(org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContextBuilder&nbsp;sslContextBuilder,
org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
<div class="block">Adds SslProvider.OPENSSL if OpenSsl is available and enabled.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/X509KeyManager.html?is-external=true" title="class or interface in javax.net.ssl">X509KeyManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#createKeyManager-java.lang.String-char:A-java.lang.String-">createKeyManager</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStoreLocation,
char[]&nbsp;keyStorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStoreType)</code>
<div class="block">Creates a key manager by loading the key store from the given file of the given type,
optionally decrypting it using the given password.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#createSslContextForClient-org.apache.hadoop.conf.Configuration-">createSslContextForClient</a></span>(org.apache.hadoop.conf.Configuration&nbsp;config)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#createSslContextForServer-org.apache.hadoop.conf.Configuration-">createSslContextForServer</a></span>(org.apache.hadoop.conf.Configuration&nbsp;config)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/X509TrustManager.html?is-external=true" title="class or interface in javax.net.ssl">X509TrustManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#createTrustManager-java.lang.String-char:A-java.lang.String-boolean-boolean-boolean-boolean-">createTrustManager</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trustStoreLocation,
char[]&nbsp;trustStorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trustStoreType,
boolean&nbsp;crlEnabled,
boolean&nbsp;ocspEnabled,
boolean&nbsp;verifyHostName,
boolean&nbsp;allowReverseDnsLookup)</code>
<div class="block">Creates a trust manager by loading the trust store from the given file of the given type,
optionally decrypting it using the given password.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#enableCertFileReloading-org.apache.hadoop.conf.Configuration-java.util.concurrent.atomic.AtomicReference-java.util.concurrent.atomic.AtomicReference-java.lang.Runnable-">enableCertFileReloading</a></span>(org.apache.hadoop.conf.Configuration&nbsp;config,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a>&gt;&nbsp;keystoreWatcher,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a>&gt;&nbsp;trustStoreWatcher,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)</code>
<div class="block">Enable certificate file reloading by creating FileWatchers for keystore and truststore.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getCBCCiphers--">getCBCCiphers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getCipherSuites-org.apache.hadoop.conf.Configuration-boolean-">getCipherSuites</a></span>(org.apache.hadoop.conf.Configuration&nbsp;config,
boolean&nbsp;useOpenSsl)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getDefaultCipherSuites-boolean-">getDefaultCipherSuites</a></span>(boolean&nbsp;useOpenSsl)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getDefaultCipherSuitesForJavaVersion-java.lang.String-">getDefaultCipherSuitesForJavaVersion</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;javaVersion)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getEnabledProtocols-org.apache.hadoop.conf.Configuration-">getEnabledProtocols</a></span>(org.apache.hadoop.conf.Configuration&nbsp;config)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getGCMCiphers--">getGCMCiphers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getOpenSslFilteredDefaultCiphers--">getOpenSslFilteredDefaultCiphers</a></span>()</code>
<div class="block">Not all of our default ciphers are available in OpenSSL.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#getTls13Ciphers--">getTls13Ciphers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#handleWatchEvent-java.nio.file.Path-java.nio.file.WatchEvent-java.lang.Runnable-">handleWatchEvent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;filePath,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchEvent.html?is-external=true" title="class or interface in java.nio.file">WatchEvent</a>&lt;?&gt;&nbsp;event,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)</code>
<div class="block">Handler for watch events that let us know a file we may care about has changed on disk.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#newFileChangeWatcher-java.lang.String-java.lang.Runnable-">newFileChangeWatcher</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileLocation,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)</code>&nbsp;</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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/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="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.73">LOG</a></pre>
</li>
</ul>
<a name="EMPTY_CHAR_ARRAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EMPTY_CHAR_ARRAY</h4>
<pre>private static final&nbsp;char[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.74">EMPTY_CHAR_ARRAY</a></pre>
</li>
</ul>
<a name="CONFIG_PREFIX">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONFIG_PREFIX</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.79">CONFIG_PREFIX</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.CONFIG_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_PROTOCOL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_PROTOCOL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.80">TLS_CONFIG_PROTOCOL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_PROTOCOL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_KEYSTORE_LOCATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_KEYSTORE_LOCATION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.81">TLS_CONFIG_KEYSTORE_LOCATION</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_KEYSTORE_LOCATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_KEYSTORE_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_KEYSTORE_TYPE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.82">TLS_CONFIG_KEYSTORE_TYPE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_KEYSTORE_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_KEYSTORE_PASSWORD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_KEYSTORE_PASSWORD</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.83">TLS_CONFIG_KEYSTORE_PASSWORD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_KEYSTORE_PASSWORD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_TRUSTSTORE_LOCATION">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_TRUSTSTORE_LOCATION</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.84">TLS_CONFIG_TRUSTSTORE_LOCATION</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_TRUSTSTORE_LOCATION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_TRUSTSTORE_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_TRUSTSTORE_TYPE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.85">TLS_CONFIG_TRUSTSTORE_TYPE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_TRUSTSTORE_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_TRUSTSTORE_PASSWORD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_TRUSTSTORE_PASSWORD</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.86">TLS_CONFIG_TRUSTSTORE_PASSWORD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_TRUSTSTORE_PASSWORD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_CLR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_CLR</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.87">TLS_CONFIG_CLR</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_CLR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_OCSP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_OCSP</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.88">TLS_CONFIG_OCSP</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_OCSP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.89">TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CONFIG_REVERSE_DNS_LOOKUP_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_ENABLED_PROTOCOLS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_ENABLED_PROTOCOLS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.91">TLS_ENABLED_PROTOCOLS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_ENABLED_PROTOCOLS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CIPHER_SUITES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CIPHER_SUITES</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.92">TLS_CIPHER_SUITES</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CIPHER_SUITES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_CERT_RELOAD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_CERT_RELOAD</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.93">TLS_CERT_RELOAD</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_CERT_RELOAD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TLS_USE_OPENSSL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS_USE_OPENSSL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.94">TLS_USE_OPENSSL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.TLS_USE_OPENSSL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_PROTOCOL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_PROTOCOL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.95">DEFAULT_PROTOCOL</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.DEFAULT_PROTOCOL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_SERVER_NETTY_TLS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SERVER_NETTY_TLS_ENABLED</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.100">HBASE_SERVER_NETTY_TLS_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_SERVER_NETTY_TLS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.101">HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_SERVER_NETTY_TLS_CLIENT_AUTH_MODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.103">HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_SERVER_NETTY_TLS_VERIFY_CLIENT_HOSTNAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.105">HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_SERVER_NETTY_TLS_SUPPORTPLAINTEXT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_SERVER_NETTY_TLS_WRAP_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SERVER_NETTY_TLS_WRAP_SIZE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.115">HBASE_SERVER_NETTY_TLS_WRAP_SIZE</a></pre>
<div class="block">Set the SSL wrapSize for netty. This is only a maximum wrap size. Buffers smaller than this
will not be consolidated, but buffers larger than this will be split into multiple wrap
buffers. The netty default of 16k is not great for hbase which tends to return larger payloads
than that, meaning most responses end up getting chunked up. This leads to more memory
contention in netty's PoolArena. See https://github.com/netty/netty/pull/13551</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_SERVER_NETTY_TLS_WRAP_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE</h4>
<pre>public static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.116">DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.DEFAULT_HBASE_SERVER_NETTY_TLS_WRAP_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_CLIENT_NETTY_TLS_ENABLED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_CLIENT_NETTY_TLS_ENABLED</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.120">HBASE_CLIENT_NETTY_TLS_ENABLED</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_CLIENT_NETTY_TLS_ENABLED">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.121">HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_CLIENT_NETTY_TLS_VERIFY_SERVER_HOSTNAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.123">HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.HBASE_CLIENT_NETTY_TLS_HANDSHAKETIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS</h4>
<pre>public static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.125">DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.crypto.tls.X509Util.DEFAULT_HANDSHAKE_DETECTION_TIMEOUT_MILLIS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_CIPHERS_JAVA8">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CIPHERS_JAVA8</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.146">DEFAULT_CIPHERS_JAVA8</a></pre>
</li>
</ul>
<a name="DEFAULT_CIPHERS_JAVA9">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CIPHERS_JAVA9</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.150">DEFAULT_CIPHERS_JAVA9</a></pre>
</li>
</ul>
<a name="DEFAULT_CIPHERS_JAVA11">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_CIPHERS_JAVA11</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.152">DEFAULT_CIPHERS_JAVA11</a></pre>
</li>
</ul>
<a name="DEFAULT_CIPHERS_OPENSSL">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_CIPHERS_OPENSSL</h4>
<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.156">DEFAULT_CIPHERS_OPENSSL</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="X509Util--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>X509Util</h4>
<pre>private&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.218">X509Util</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getTls13Ciphers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTls13Ciphers</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.127">getTls13Ciphers</a>()</pre>
</li>
</ul>
<a name="getGCMCiphers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGCMCiphers</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.131">getGCMCiphers</a>()</pre>
</li>
</ul>
<a name="getCBCCiphers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCBCCiphers</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.137">getCBCCiphers</a>()</pre>
</li>
</ul>
<a name="getOpenSslFilteredDefaultCiphers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOpenSslFilteredDefaultCiphers</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.164">getOpenSslFilteredDefaultCiphers</a>()</pre>
<div class="block">Not all of our default ciphers are available in OpenSSL. Takes our default cipher lists and
filters them to only those available in OpenSsl. Prefers TLS 1.3, then GCM, then CBC because
GCM tends to be better and faster, and we don't need to worry about the java8 vs 9 performance
issue if OpenSSL is handling it.</div>
</li>
</ul>
<a name="getDefaultCipherSuites-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultCipherSuites</h4>
<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.222">getDefaultCipherSuites</a>(boolean&nbsp;useOpenSsl)</pre>
</li>
</ul>
<a name="getDefaultCipherSuitesForJavaVersion-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultCipherSuitesForJavaVersion</h4>
<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.229">getDefaultCipherSuitesForJavaVersion</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;javaVersion)</pre>
</li>
</ul>
<a name="createSslContextForClient-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSslContextForClient</h4>
<pre>public static&nbsp;org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContext&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.255">createSslContextForClient</a>(org.apache.hadoop.conf.Configuration&nbsp;config)
throws <a href="../../../../../../../org/apache/hadoop/hbase/exceptions/X509Exception.html" title="class in org.apache.hadoop.hbase.exceptions">X509Exception</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/exceptions/X509Exception.html" title="class in org.apache.hadoop.hbase.exceptions">X509Exception</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="configureOpenSslIfAvailable-org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContextBuilder-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>configureOpenSslIfAvailable</h4>
<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.305">configureOpenSslIfAvailable</a>(org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContextBuilder&nbsp;sslContextBuilder,
org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
<div class="block">Adds SslProvider.OPENSSL if OpenSsl is available and enabled. In order to make it available,
one must ensure that a properly shaded netty-tcnative is on the classpath. Properly shaded
means relocated to be prefixed with "org.apache.hbase.thirdparty" like the rest of the netty
classes. We make available org.apache.hbase:hbase-openssl as a convenience module which one can
use to pull in a shaded netty-tcnative statically linked against boringssl.</div>
</li>
</ul>
<a name="createSslContextForServer-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSslContextForServer</h4>
<pre>public static&nbsp;org.apache.hbase.thirdparty.io.netty.handler.ssl.SslContext&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.321">createSslContextForServer</a>(org.apache.hadoop.conf.Configuration&nbsp;config)
throws <a href="../../../../../../../org/apache/hadoop/hbase/exceptions/X509Exception.html" title="class in org.apache.hadoop.hbase.exceptions">X509Exception</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/exceptions/X509Exception.html" title="class in org.apache.hadoop.hbase.exceptions">X509Exception</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="createKeyManager-java.lang.String-char:A-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createKeyManager</h4>
<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/X509KeyManager.html?is-external=true" title="class or interface in javax.net.ssl">X509KeyManager</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.378">createKeyManager</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStoreLocation,
char[]&nbsp;keyStorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keyStoreType)
throws <a href="../../../../../../../org/apache/hadoop/hbase/exceptions/KeyManagerException.html" title="class in org.apache.hadoop.hbase.exceptions">KeyManagerException</a></pre>
<div class="block">Creates a key manager by loading the key store from the given file of the given type,
optionally decrypting it using the given password.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyStoreLocation</code> - the location of the key store file.</dd>
<dd><code>keyStorePassword</code> - optional password to decrypt the key store. If empty, assumes the key
store is not encrypted.</dd>
<dd><code>keyStoreType</code> - must be JKS, PEM, PKCS12, BCFKS or null. If null, attempts to
autodetect the key store type from the file extension (e.g. .jks /
.pem).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the key manager.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/exceptions/KeyManagerException.html" title="class in org.apache.hadoop.hbase.exceptions">KeyManagerException</a></code> - if something goes wrong.</dd>
</dl>
</li>
</ul>
<a name="createTrustManager-java.lang.String-char:A-java.lang.String-boolean-boolean-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTrustManager</h4>
<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/X509TrustManager.html?is-external=true" title="class or interface in javax.net.ssl">X509TrustManager</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.423">createTrustManager</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trustStoreLocation,
char[]&nbsp;trustStorePassword,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trustStoreType,
boolean&nbsp;crlEnabled,
boolean&nbsp;ocspEnabled,
boolean&nbsp;verifyHostName,
boolean&nbsp;allowReverseDnsLookup)
throws <a href="../../../../../../../org/apache/hadoop/hbase/exceptions/TrustManagerException.html" title="class in org.apache.hadoop.hbase.exceptions">TrustManagerException</a></pre>
<div class="block">Creates a trust manager by loading the trust store from the given file of the given type,
optionally decrypting it using the given password.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>trustStoreLocation</code> - the location of the trust store file.</dd>
<dd><code>trustStorePassword</code> - optional password to decrypt the trust store (only applies to JKS
trust stores). If empty, assumes the trust store is not encrypted.</dd>
<dd><code>trustStoreType</code> - must be JKS, PEM, PKCS12, BCFKS or null. If null, attempts to
autodetect the trust store type from the file extension (e.g. .jks
/ .pem).</dd>
<dd><code>crlEnabled</code> - enable CRL (certificate revocation list) checks.</dd>
<dd><code>ocspEnabled</code> - enable OCSP (online certificate status protocol) checks.</dd>
<dd><code>verifyHostName</code> - if true, ssl peer hostname must match name in certificate</dd>
<dd><code>allowReverseDnsLookup</code> - if true, allow falling back to reverse dns lookup in verifying
hostname</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the trust manager.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hbase/exceptions/TrustManagerException.html" title="class in org.apache.hadoop.hbase.exceptions">TrustManagerException</a></code> - if something goes wrong.</dd>
</dl>
</li>
</ul>
<a name="getEnabledProtocols-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnabledProtocols</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.468">getEnabledProtocols</a>(org.apache.hadoop.conf.Configuration&nbsp;config)</pre>
</li>
</ul>
<a name="getCipherSuites-org.apache.hadoop.conf.Configuration-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCipherSuites</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.476">getCipherSuites</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
boolean&nbsp;useOpenSsl)</pre>
</li>
</ul>
<a name="enableCertFileReloading-org.apache.hadoop.conf.Configuration-java.util.concurrent.atomic.AtomicReference-java.util.concurrent.atomic.AtomicReference-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableCertFileReloading</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.493">enableCertFileReloading</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a>&gt;&nbsp;keystoreWatcher,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a>&gt;&nbsp;trustStoreWatcher,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Enable certificate file reloading by creating FileWatchers for keystore and truststore.
AtomicReferences will be set with the new instances. resetContext - if not null - will be
called when the file has been modified.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keystoreWatcher</code> - Reference to keystoreFileWatcher.</dd>
<dd><code>trustStoreWatcher</code> - Reference to truststoreFileWatcher.</dd>
<dd><code>resetContext</code> - Callback for file changes.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="newFileChangeWatcher-java.lang.String-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newFileChangeWatcher</h4>
<pre>private static&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/FileChangeWatcher.html" title="class in org.apache.hadoop.hbase.io">FileChangeWatcher</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.507">newFileChangeWatcher</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileLocation,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="handleWatchEvent-java.nio.file.Path-java.nio.file.WatchEvent-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>handleWatchEvent</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/tls/X509Util.html#line.530">handleWatchEvent</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;filePath,
<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchEvent.html?is-external=true" title="class or interface in java.nio.file">WatchEvent</a>&lt;?&gt;&nbsp;event,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;resetContext)</pre>
<div class="block">Handler for watch events that let us know a file we may care about has changed on disk.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filePath</code> - the path to the file we are watching for changes.</dd>
<dd><code>event</code> - the WatchEvent.</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/X509Util.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/hadoop/hbase/io/crypto/tls/StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/crypto/tls/X509Util.html" target="_top">Frames</a></li>
<li><a href="X509Util.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><a href="#nested.class.summary">Nested</a>&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 &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>