blob: f3fba1e55a11ff70aeb139c1dd591770b09ac235 [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_101) on Thu Sep 01 13:59:14 BST 2016 -->
<title>SSLSocketFactoryFactory</title>
<meta name="date" content="2016-09-01">
<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="SSLSocketFactoryFactory";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":9,"i21":9,"i22":10,"i23":9,"i24":9,"i25":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/SSLSocketFactoryFactory.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-files/index-1.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/paho/client/mqttv3/internal/security/SimpleBase64Encoder.html" title="class in org.eclipse.paho.client.mqttv3.internal.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" target="_top">Frames</a></li>
<li><a href="SSLSocketFactoryFactory.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><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.eclipse.paho.client.mqttv3.internal.security</div>
<h2 title="Class SSLSocketFactoryFactory" class="title">Class SSLSocketFactoryFactory</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SSLSocketFactoryFactory</span>
extends java.lang.Object</pre>
<div class="block">An SSLSocketFactoryFactory provides a socket factory and a server socket
factory that then can be used to create SSL client sockets or SSL server
sockets.
<p>
The SSLSocketFactoryFactory is configured using IBM SSL properties, i.e.
properties of the format "com.ibm.ssl.propertyName", e.g.
"com.ibm.ssl.keyStore". The class supports multiple configurations, each
configuration is identified using a name or configuration ID. The
configuration ID with "null" is used as a default configuration. When a
socket factory is being created for a given configuration, properties of that
configuration are first picked. If a property is not defined there, then that
property is looked up in the default configuration. Finally, if a property
element is still not found, then the corresponding system property is
inspected, i.e. javax.net.ssl.keyStore. If the system property is not set
either, then the system's default value is used (if available) or an
exception is thrown.
<p>
The SSLSocketFacotryFactory can be reconfigured at any time. A
reconfiguration does not affect existing socket factories.
<p>
All properties share the same key space; i.e. the configuration ID is not
part of the property keys.
<p>
The methods should be called in the following order:
<ol>
<li><b>isSupportedOnJVM()</b>: to check whether this class is supported on
the runtime platform. Not all runtimes support SSL/TLS.</li>
<li><b>SSLSocketFactoryFactory()</b>: the constructor. Clients
(in the same JVM) may share an SSLSocketFactoryFactory, or have one each.</li>
<li><b>initialize(properties, configID)</b>: to initialize this object with
the required SSL properties for a configuration. This may be called multiple
times, once for each required configuration.It may be called again to change the required SSL
properties for a particular configuration</li>
<li><b>getEnabledCipherSuites(configID)</b>: to later set the enabled
cipher suites on the socket [see below].</li>
</ol>
<ul>
<li><i>For an MQTT server:</i></li>
<ol>
<li><b>getKeyStore(configID)</b>: Optionally, to check that if there is no
keystore, then that all the enabled cipher suits are anonymous.</li>
<li><b>createServerSocketFactory(configID)</b>: to create an
SSLServerSocketFactory.</li>
<li><b>getClientAuthentication(configID)</b>: to later set on the
SSLServerSocket (itself created from the SSLServerSocketFactory) whether
client authentication is needed.</li>
</ol>
<li><i>For an MQTT client:</i></li>
<ol>
<li><b>createSocketFactory(configID)</b>: to create an SSLSocketFactory.</li>
</ol>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="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>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#CIPHERSUITES">CIPHERSUITES</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#CLIENTAUTH">CLIENTAUTH</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#DEFAULT_PROTOCOL">DEFAULT_PROTOCOL</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#JSSEPROVIDER">JSSEPROVIDER</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTORE">KEYSTORE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREMGR">KEYSTOREMGR</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREPROVIDER">KEYSTOREPROVIDER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTOREPWD">KEYSTOREPWD</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#KEYSTORETYPE">KEYSTORETYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SSLPROTOCOL">SSLPROTOCOL</a></span></code>
<div class="block">Property keys specific to the client).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSKEYMGRALGO">SYSKEYMGRALGO</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSKEYSTORE">SYSKEYSTORE</a></span></code>
<div class="block">Property keys used for java system properties</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSKEYSTOREPWD">SYSKEYSTOREPWD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSKEYSTORETYPE">SYSKEYSTORETYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSTRUSTMGRALGO">SYSTRUSTMGRALGO</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSTRUSTSTORE">SYSTRUSTSTORE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSTRUSTSTOREPWD">SYSTRUSTSTOREPWD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SYSTRUSTSTORETYPE">SYSTRUSTSTORETYPE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#TRUSTSTORE">TRUSTSTORE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#TRUSTSTOREMGR">TRUSTSTOREMGR</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#TRUSTSTOREPROVIDER">TRUSTSTOREPROVIDER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#TRUSTSTOREPWD">TRUSTSTOREPWD</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#TRUSTSTORETYPE">TRUSTSTORETYPE</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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SSLSocketFactoryFactory--">SSLSocketFactoryFactory</a></span>()</code>
<div class="block">Create new instance of class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#SSLSocketFactoryFactory-org.eclipse.paho.client.mqttv3.logging.Logger-">SSLSocketFactoryFactory</a></span>(<a href="../../../../../../../org/eclipse/paho/client/mqttv3/logging/Logger.html" title="interface in org.eclipse.paho.client.mqttv3.logging">Logger</a>&nbsp;logger)</code>
<div class="block">Create new instance of class.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>javax.net.ssl.SSLSocketFactory</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#createSocketFactory-java.lang.String-">createSocketFactory</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Returns an SSL socket factory for the given configuration.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#deObfuscate-java.lang.String-">deObfuscate</a></span>(java.lang.String&nbsp;ePassword)</code>
<div class="block">The inverse operation of obfuscate: returns a cleartext password that was
previously obfuscated using the XOR scrambler.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getClientAuthentication-java.lang.String-">getClientAuthentication</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Returns whether client authentication is required.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.Properties</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getConfiguration-java.lang.String-">getConfiguration</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Returns the configuration of the SSLSocketFactoryFactory for a given
configuration.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getEnabledCipherSuites-java.lang.String-">getEnabledCipherSuites</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Returns an array with the enabled ciphers.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getJSSEProvider-java.lang.String-">getJSSEProvider</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the JSSE provider of the indicated configuration</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getKeyManager-java.lang.String-">getKeyManager</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the key manager algorithm that is used.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getKeyStore-java.lang.String-">getKeyStore</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the name of the keystore file that is used.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getKeyStorePassword-java.lang.String-">getKeyStorePassword</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the plain-text password that is used for the keystore.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getKeyStoreProvider-java.lang.String-">getKeyStoreProvider</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the keystore provider.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getKeyStoreType-java.lang.String-">getKeyStoreType</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the type of keystore.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getSSLProtocol-java.lang.String-">getSSLProtocol</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the SSL protocol variant of the indicated configuration or the
default configuration.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getTrustManager-java.lang.String-">getTrustManager</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the trust manager algorithm that is used.</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/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getTrustStore-java.lang.String-">getTrustStore</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the name of the truststore file that is used.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getTrustStorePassword-java.lang.String-">getTrustStorePassword</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the plain-text password that is used for the truststore.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getTrustStoreProvider-java.lang.String-">getTrustStoreProvider</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the truststore provider.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#getTrustStoreType-java.lang.String-">getTrustStoreType</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Gets the type of truststore.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#initialize-java.util.Properties-java.lang.String-">initialize</a></span>(java.util.Properties&nbsp;props,
java.lang.String&nbsp;configID)</code>
<div class="block">Initializes the SSLSocketFactoryFactory with the provided properties for
the provided configuration.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#isSupportedOnJVM--">isSupportedOnJVM</a></span>()</code>
<div class="block">Not all of the JVM/Platforms support all of its
security features.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#merge-java.util.Properties-java.lang.String-">merge</a></span>(java.util.Properties&nbsp;props,
java.lang.String&nbsp;configID)</code>
<div class="block">Merges the given IBM SSL properties into the existing configuration,
overwriting existing properties.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#obfuscate-char:A-">obfuscate</a></span>(char[]&nbsp;password)</code>
<div class="block">Obfuscates the password using a simple and not very secure XOR mechanism.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#packCipherSuites-java.lang.String:A-">packCipherSuites</a></span>(java.lang.String[]&nbsp;ciphers)</code>
<div class="block">Converts an array of ciphers into a single String.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#remove-java.lang.String-">remove</a></span>(java.lang.String&nbsp;configID)</code>
<div class="block">Remove the configuration of a given configuration identifier.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#toByte-char:A-">toByte</a></span>(char[]&nbsp;c)</code>
<div class="block">Convert char array to byte array, where each char is split into two
bytes.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#toChar-byte:A-">toChar</a></span>(byte[]&nbsp;b)</code>
<div class="block">Convert byte array to char array, where each char is constructed from two
bytes.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#unpackCipherSuites-java.lang.String-">unpackCipherSuites</a></span>(java.lang.String&nbsp;ciphers)</code>
<div class="block">Inverse operation of packCipherSuites: converts a string of cipher names
into an array of cipher names</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>equals, 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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="SSLPROTOCOL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLPROTOCOL</h4>
<pre>public static final&nbsp;java.lang.String SSLPROTOCOL</pre>
<div class="block">Property keys specific to the client).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SSLPROTOCOL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="JSSEPROVIDER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JSSEPROVIDER</h4>
<pre>public static final&nbsp;java.lang.String JSSEPROVIDER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.JSSEPROVIDER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEYSTORE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEYSTORE</h4>
<pre>public static final&nbsp;java.lang.String KEYSTORE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.KEYSTORE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEYSTOREPWD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEYSTOREPWD</h4>
<pre>public static final&nbsp;java.lang.String KEYSTOREPWD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.KEYSTOREPWD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEYSTORETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEYSTORETYPE</h4>
<pre>public static final&nbsp;java.lang.String KEYSTORETYPE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.KEYSTORETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEYSTOREPROVIDER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEYSTOREPROVIDER</h4>
<pre>public static final&nbsp;java.lang.String KEYSTOREPROVIDER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.KEYSTOREPROVIDER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="KEYSTOREMGR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KEYSTOREMGR</h4>
<pre>public static final&nbsp;java.lang.String KEYSTOREMGR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.KEYSTOREMGR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUSTSTORE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUSTSTORE</h4>
<pre>public static final&nbsp;java.lang.String TRUSTSTORE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.TRUSTSTORE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUSTSTOREPWD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUSTSTOREPWD</h4>
<pre>public static final&nbsp;java.lang.String TRUSTSTOREPWD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.TRUSTSTOREPWD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUSTSTORETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUSTSTORETYPE</h4>
<pre>public static final&nbsp;java.lang.String TRUSTSTORETYPE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.TRUSTSTORETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUSTSTOREPROVIDER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUSTSTOREPROVIDER</h4>
<pre>public static final&nbsp;java.lang.String TRUSTSTOREPROVIDER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.TRUSTSTOREPROVIDER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRUSTSTOREMGR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRUSTSTOREMGR</h4>
<pre>public static final&nbsp;java.lang.String TRUSTSTOREMGR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.TRUSTSTOREMGR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CIPHERSUITES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CIPHERSUITES</h4>
<pre>public static final&nbsp;java.lang.String CIPHERSUITES</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.CIPHERSUITES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLIENTAUTH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLIENTAUTH</h4>
<pre>public static final&nbsp;java.lang.String CLIENTAUTH</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.CLIENTAUTH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSKEYSTORE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSKEYSTORE</h4>
<pre>public static final&nbsp;java.lang.String SYSKEYSTORE</pre>
<div class="block">Property keys used for java system properties</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSKEYSTORE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSKEYSTORETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSKEYSTORETYPE</h4>
<pre>public static final&nbsp;java.lang.String SYSKEYSTORETYPE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSKEYSTORETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSKEYSTOREPWD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSKEYSTOREPWD</h4>
<pre>public static final&nbsp;java.lang.String SYSKEYSTOREPWD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSKEYSTOREPWD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTRUSTSTORE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTRUSTSTORE</h4>
<pre>public static final&nbsp;java.lang.String SYSTRUSTSTORE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSTRUSTSTORE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTRUSTSTORETYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTRUSTSTORETYPE</h4>
<pre>public static final&nbsp;java.lang.String SYSTRUSTSTORETYPE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSTRUSTSTORETYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTRUSTSTOREPWD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTRUSTSTOREPWD</h4>
<pre>public static final&nbsp;java.lang.String SYSTRUSTSTOREPWD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSTRUSTSTOREPWD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSKEYMGRALGO">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSKEYMGRALGO</h4>
<pre>public static final&nbsp;java.lang.String SYSKEYMGRALGO</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSKEYMGRALGO">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SYSTRUSTMGRALGO">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYSTRUSTMGRALGO</h4>
<pre>public static final&nbsp;java.lang.String SYSTRUSTMGRALGO</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.SYSTRUSTMGRALGO">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_PROTOCOL">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_PROTOCOL</h4>
<pre>public static final&nbsp;java.lang.String DEFAULT_PROTOCOL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#org.eclipse.paho.client.mqttv3.internal.security.SSLSocketFactoryFactory.DEFAULT_PROTOCOL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SSLSocketFactoryFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLSocketFactoryFactory</h4>
<pre>public&nbsp;SSLSocketFactoryFactory()</pre>
<div class="block">Create new instance of class.
Constructor used by clients.</div>
</li>
</ul>
<a name="SSLSocketFactoryFactory-org.eclipse.paho.client.mqttv3.logging.Logger-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SSLSocketFactoryFactory</h4>
<pre>public&nbsp;SSLSocketFactoryFactory(<a href="../../../../../../../org/eclipse/paho/client/mqttv3/logging/Logger.html" title="interface in org.eclipse.paho.client.mqttv3.logging">Logger</a>&nbsp;logger)</pre>
<div class="block">Create new instance of class.
Constructor used by the broker.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isSupportedOnJVM--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportedOnJVM</h4>
<pre>public static&nbsp;boolean&nbsp;isSupportedOnJVM()
throws java.lang.LinkageError,
java.lang.ExceptionInInitializerError</pre>
<div class="block">Not all of the JVM/Platforms support all of its
security features. This method determines if is supported.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether dependent classes can be instantiated on the current
JVM/platform.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Error</code> - if any unexpected error encountered whilst checking. Note
this should not be a ClassNotFoundException, which should
cause the method to return false.</dd>
<dd><code>java.lang.LinkageError</code></dd>
<dd><code>java.lang.ExceptionInInitializerError</code></dd>
</dl>
</li>
</ul>
<a name="toChar-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toChar</h4>
<pre>public static&nbsp;char[]&nbsp;toChar(byte[]&nbsp;b)</pre>
<div class="block">Convert byte array to char array, where each char is constructed from two
bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>b</code> - byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>char array</dd>
</dl>
</li>
</ul>
<a name="toByte-char:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toByte</h4>
<pre>public static&nbsp;byte[]&nbsp;toByte(char[]&nbsp;c)</pre>
<div class="block">Convert char array to byte array, where each char is split into two
bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - char array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte array</dd>
</dl>
</li>
</ul>
<a name="obfuscate-char:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>obfuscate</h4>
<pre>public static&nbsp;java.lang.String&nbsp;obfuscate(char[]&nbsp;password)</pre>
<div class="block">Obfuscates the password using a simple and not very secure XOR mechanism.
This should not be used for cryptographical purpose, it's a simple
scrambler to obfuscate clear-text passwords.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>password</code> - The password to be encrypted, as a char[] array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An obfuscated password as a String.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#deObfuscate-java.lang.String-"><code>deObfuscate(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="deObfuscate-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deObfuscate</h4>
<pre>public static&nbsp;char[]&nbsp;deObfuscate(java.lang.String&nbsp;ePassword)</pre>
<div class="block">The inverse operation of obfuscate: returns a cleartext password that was
previously obfuscated using the XOR scrambler.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ePassword</code> - An obfuscated password.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array of char, containing the clear text password.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#obfuscate-char:A-"><code>obfuscate(char[])</code></a></dd>
</dl>
</li>
</ul>
<a name="packCipherSuites-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>packCipherSuites</h4>
<pre>public static&nbsp;java.lang.String&nbsp;packCipherSuites(java.lang.String[]&nbsp;ciphers)</pre>
<div class="block">Converts an array of ciphers into a single String.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ciphers</code> - The array of cipher names.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing the name of the ciphers, separated by comma.</dd>
</dl>
</li>
</ul>
<a name="unpackCipherSuites-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unpackCipherSuites</h4>
<pre>public static&nbsp;java.lang.String[]&nbsp;unpackCipherSuites(java.lang.String&nbsp;ciphers)</pre>
<div class="block">Inverse operation of packCipherSuites: converts a string of cipher names
into an array of cipher names</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ciphers</code> - A list of ciphers, separated by comma.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array of string, each string containing a single cipher name.</dd>
</dl>
</li>
</ul>
<a name="initialize-java.util.Properties-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(java.util.Properties&nbsp;props,
java.lang.String&nbsp;configID)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Initializes the SSLSocketFactoryFactory with the provided properties for
the provided configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>props</code> - A properties object containing IBM SSL properties that are
qualified by one or more configuration identifiers.</dd>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if any of the properties is not a valid IBM SSL property key.</dd>
</dl>
</li>
</ul>
<a name="merge-java.util.Properties-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>merge</h4>
<pre>public&nbsp;void&nbsp;merge(java.util.Properties&nbsp;props,
java.lang.String&nbsp;configID)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Merges the given IBM SSL properties into the existing configuration,
overwriting existing properties. This method is used to selectively
change properties for a given configuration. The method throws an
IllegalArgumentException if any of the properties is not a valid IBM SSL
property key.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>props</code> - A properties object containing IBM SSL properties</dd>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if any of the properties is not a valid IBM SSL property key.</dd>
</dl>
</li>
</ul>
<a name="remove-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;boolean&nbsp;remove(java.lang.String&nbsp;configID)</pre>
<div class="block">Remove the configuration of a given configuration identifier.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, if the configuation could be removed.</dd>
</dl>
</li>
</ul>
<a name="getConfiguration-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
<pre>public&nbsp;java.util.Properties&nbsp;getConfiguration(java.lang.String&nbsp;configID)</pre>
<div class="block">Returns the configuration of the SSLSocketFactoryFactory for a given
configuration. Note that changes in the property are reflected in the
SSLSocketFactoryFactory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A property object containing the current configuration of the
SSLSocketFactoryFactory. Note that it could be null.</dd>
</dl>
</li>
</ul>
<a name="getSSLProtocol-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSSLProtocol</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSSLProtocol(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the SSL protocol variant of the indicated configuration or the
default configuration.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The SSL protocol variant.</dd>
</dl>
</li>
</ul>
<a name="getJSSEProvider-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJSSEProvider</h4>
<pre>public&nbsp;java.lang.String&nbsp;getJSSEProvider(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the JSSE provider of the indicated configuration</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The JSSE provider.</dd>
</dl>
</li>
</ul>
<a name="getKeyStore-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStore</h4>
<pre>public&nbsp;java.lang.String&nbsp;getKeyStore(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the name of the keystore file that is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the file that contains the keystore.</dd>
</dl>
</li>
</ul>
<a name="getKeyStorePassword-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStorePassword</h4>
<pre>public&nbsp;char[]&nbsp;getKeyStorePassword(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the plain-text password that is used for the keystore.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The password in plain text.</dd>
</dl>
</li>
</ul>
<a name="getKeyStoreType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStoreType</h4>
<pre>public&nbsp;java.lang.String&nbsp;getKeyStoreType(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the type of keystore.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The keystore type.</dd>
</dl>
</li>
</ul>
<a name="getKeyStoreProvider-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyStoreProvider</h4>
<pre>public&nbsp;java.lang.String&nbsp;getKeyStoreProvider(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the keystore provider.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the keystore provider.</dd>
</dl>
</li>
</ul>
<a name="getKeyManager-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyManager</h4>
<pre>public&nbsp;java.lang.String&nbsp;getKeyManager(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the key manager algorithm that is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The key manager algorithm.</dd>
</dl>
</li>
</ul>
<a name="getTrustStore-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStore</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTrustStore(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the name of the truststore file that is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the file that contains the truststore.</dd>
</dl>
</li>
</ul>
<a name="getTrustStorePassword-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStorePassword</h4>
<pre>public&nbsp;char[]&nbsp;getTrustStorePassword(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the plain-text password that is used for the truststore.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The password in plain text.</dd>
</dl>
</li>
</ul>
<a name="getTrustStoreType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStoreType</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTrustStoreType(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the type of truststore.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The truststore type.</dd>
</dl>
</li>
</ul>
<a name="getTrustStoreProvider-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustStoreProvider</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTrustStoreProvider(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the truststore provider.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the truststore provider.</dd>
</dl>
</li>
</ul>
<a name="getTrustManager-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrustManager</h4>
<pre>public&nbsp;java.lang.String&nbsp;getTrustManager(java.lang.String&nbsp;configID)</pre>
<div class="block">Gets the trust manager algorithm that is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The trust manager algorithm.</dd>
</dl>
</li>
</ul>
<a name="getEnabledCipherSuites-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnabledCipherSuites</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;getEnabledCipherSuites(java.lang.String&nbsp;configID)</pre>
<div class="block">Returns an array with the enabled ciphers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array with the enabled ciphers</dd>
</dl>
</li>
</ul>
<a name="getClientAuthentication-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClientAuthentication</h4>
<pre>public&nbsp;boolean&nbsp;getClientAuthentication(java.lang.String&nbsp;configID)</pre>
<div class="block">Returns whether client authentication is required.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration or
null for the default configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, if clients are required to authenticate, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="createSocketFactory-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createSocketFactory</h4>
<pre>public&nbsp;javax.net.ssl.SSLSocketFactory&nbsp;createSocketFactory(java.lang.String&nbsp;configID)
throws <a href="../../../../../../../org/eclipse/paho/client/mqttv3/MqttSecurityException.html" title="class in org.eclipse.paho.client.mqttv3">MqttSecurityException</a></pre>
<div class="block">Returns an SSL socket factory for the given configuration. If no
SSLProtocol is already set, uses DEFAULT_PROTOCOL. Throws
IllegalArgumentException if the socket factory could not be created due
to underlying configuration problems.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>configID</code> - The configuration identifier for selecting a configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An SSLSocketFactory</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>MqttDirectException</code></dd>
<dd><code><a href="../../../../../../../org/eclipse/paho/client/mqttv3/MqttSecurityException.html" title="class in org.eclipse.paho.client.mqttv3">MqttSecurityException</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html#DEFAULT_PROTOCOL"><code>DEFAULT_PROTOCOL</code></a></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/SSLSocketFactoryFactory.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-files/index-1.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/paho/client/mqttv3/internal/security/SimpleBase64Encoder.html" title="class in org.eclipse.paho.client.mqttv3.internal.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory.html" target="_top">Frames</a></li>
<li><a href="SSLSocketFactoryFactory.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><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 ======= -->
</body>
</html>