You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xiaomi-note/javadoc/org/apache/http/conn/ssl/SSLConnectionSocketFactory....

800 lines
57 KiB

<!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 (version 1.7.0_80) on Wed Nov 30 19:45:04 CET 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SSLConnectionSocketFactory (Apache HttpComponents Client 4.5.14 API)</title>
<meta name="date" content="2022-11-30">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SSLConnectionSocketFactory (Apache HttpComponents Client 4.5.14 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSLConnectionSocketFactory.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/http/conn/ssl/PrivateKeyStrategy.html" title="interface in org.apache.http.conn.ssl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/http/conn/ssl/SSLContextBuilder.html" title="class in org.apache.http.conn.ssl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" target="_top">Frames</a></li>
<li><a href="SSLConnectionSocketFactory.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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.http.conn.ssl</div>
<h2 title="Class SSLConnectionSocketFactory" class="title">Class SSLConnectionSocketFactory</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/6/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.http.conn.ssl.SSLConnectionSocketFactory</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">ConnectionSocketFactory</a>, <a href="../../../../../org/apache/http/conn/socket/LayeredConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">LayeredConnectionSocketFactory</a></dd>
</dl>
<hr>
<br>
<pre>@Contract(threading=SAFE)
public class <span class="strong">SSLConnectionSocketFactory</span>
extends <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/http/conn/socket/LayeredConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">LayeredConnectionSocketFactory</a></pre>
<div class="block">Layered socket factory for TLS/SSL connections.
<p>
SSLSocketFactory can be used to validate the identity of the HTTPS server against a list of
trusted certificates and to authenticate to the HTTPS server using a private key.
<p>
SSLSocketFactory will enable server authentication when supplied with
a <a href="https://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html?is-external=true" title="class or interface in java.security"><code>trust-store</code></a> file containing one or several trusted certificates. The client
secure socket will reject the connection during the SSL session handshake if the target HTTPS
server attempts to authenticate itself with a non-trusted certificate.
<p>
Use JDK keytool utility to import a trusted certificate and generate a trust-store file:
<pre>
keytool -import -alias "my server cert" -file server.crt -keystore my.truststore
</pre>
<p>
In special cases the standard trust verification process can be bypassed by using a custom
<a href="../../../../../org/apache/http/conn/ssl/TrustStrategy.html" title="interface in org.apache.http.conn.ssl"><code>TrustStrategy</code></a>. This interface is primarily intended for allowing self-signed
certificates to be accepted as trusted without having to add them to the trust-store file.
<p>
SSLSocketFactory will enable client authentication when supplied with
a <a href="https://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html?is-external=true" title="class or interface in java.security"><code>key-store</code></a> file containing a private key/public certificate
pair. The client secure socket will use the private key to authenticate
itself to the target HTTPS server during the SSL session handshake if
requested to do so by the server.
The target HTTPS server will in its turn verify the certificate presented
by the client in order to establish client's authenticity.
<p>
Use the following sequence of actions to generate a key-store file
</p>
<ul>
<li>
<p>
Use JDK keytool utility to generate a new key
</p>
<pre>keytool -genkey -v -alias "my client key" -validity 365 -keystore my.keystore</pre>
<p>
For simplicity use the same password for the key as that of the key-store
</p>
</li>
<li>
<p>
Issue a certificate signing request (CSR)
</p>
<pre>keytool -certreq -alias "my client key" -file mycertreq.csr -keystore my.keystore</pre>
</li>
<li>
<p>
Send the certificate request to the trusted Certificate Authority for signature.
One may choose to act as her own CA and sign the certificate request using a PKI
tool, such as OpenSSL.
</p>
</li>
<li>
<p>
Import the trusted CA root certificate
</p>
<pre>keytool -import -alias "my trusted ca" -file caroot.crt -keystore my.keystore</pre>
</li>
<li>
<p>
Import the PKCS#7 file containing the complete certificate chain
</p>
<pre>keytool -import -alias "my client key" -file mycert.p7 -keystore my.keystore</pre>
</li>
<li>
<p>
Verify the content of the resultant keystore file
</p>
<pre>keytool -list -v -keystore my.keystore</pre>
</li>
</ul></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.3</dd></dl>
</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="overviewSummary" 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 <a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#ALLOW_ALL_HOSTNAME_VERIFIER">ALLOW_ALL_HOSTNAME_VERIFIER</a></strong></code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Use <a href="../../../../../org/apache/http/conn/ssl/AllowAllHostnameVerifier.html#INSTANCE"><code>AllowAllHostnameVerifier.INSTANCE</code></a>.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#BROWSER_COMPATIBLE_HOSTNAME_VERIFIER">BROWSER_COMPATIBLE_HOSTNAME_VERIFIER</a></strong></code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Use <a href="../../../../../org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.html#INSTANCE"><code>BrowserCompatHostnameVerifier.INSTANCE</code></a>.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSL">SSL</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLV2">SSLV2</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#STRICT_HOSTNAME_VERIFIER">STRICT_HOSTNAME_VERIFIER</a></strong></code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Use <a href="../../../../../org/apache/http/conn/ssl/StrictHostnameVerifier.html#INSTANCE"><code>StrictHostnameVerifier.INSTANCE</code></a>.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#TLS">TLS</a></strong></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="overviewSummary" 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><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20javax.net.ssl.HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20java.lang.String[],%20java.lang.String[],%20org.apache.http.conn.ssl.X509HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLContext,
String[], String[], javax.net.ssl.HostnameVerifier)</code></a></i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20org.apache.http.conn.ssl.X509HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLContext,
javax.net.ssl.HostnameVerifier)</code></a></i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20javax.net.ssl.HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20java.lang.String[],%20java.lang.String[],%20org.apache.http.conn.ssl.X509HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,
String[], String[], javax.net.ssl.HostnameVerifier)</code></a></i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20org.apache.http.conn.ssl.X509HostnameVerifier)">SSLConnectionSocketFactory</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,
javax.net.ssl.HostnameVerifier)</code></a></i></div>
</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#connectSocket(int,%20java.net.Socket,%20org.apache.http.HttpHost,%20java.net.InetSocketAddress,%20java.net.InetSocketAddress,%20org.apache.http.protocol.HttpContext)">connectSocket</a></strong>(int&nbsp;connectTimeout,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket,
org.apache.http.HttpHost&nbsp;host,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;remoteAddress,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;localAddress,
org.apache.http.protocol.HttpContext&nbsp;context)</code>
<div class="block">Connects the socket to the target host with the given resolved remote address.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#createLayeredSocket(java.net.Socket,%20java.lang.String,%20int,%20org.apache.http.protocol.HttpContext)">createLayeredSocket</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;target,
int&nbsp;port,
org.apache.http.protocol.HttpContext&nbsp;context)</code>
<div class="block">Returns a socket connected to the given host that is layered over an
existing socket.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#createSocket(org.apache.http.protocol.HttpContext)">createSocket</a></strong>(org.apache.http.protocol.HttpContext&nbsp;context)</code>
<div class="block">Creates new, unconnected socket.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#getDefaultHostnameVerifier()">getDefaultHostnameVerifier</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" title="class in org.apache.http.conn.ssl">SSLConnectionSocketFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#getSocketFactory()">getSocketFactory</a></strong>()</code>
<div class="block">Obtains default SSL socket factory with an SSL context based on the standard JSSE
trust material (<code>cacerts</code> file in the security properties directory).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" title="class in org.apache.http.conn.ssl">SSLConnectionSocketFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#getSystemSocketFactory()">getSystemSocketFactory</a></strong>()</code>
<div class="block">Obtains default SSL socket factory with an SSL context based on system properties
as described in
<a href="http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html">
Java&#x2122; Secure Socket Extension (JSSE) Reference Guide</a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#prepareSocket(javax.net.ssl.SSLSocket)">prepareSocket</a></strong>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocket.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocket</a>&nbsp;socket)</code>
<div class="block">Performs any custom initialization for a newly created SSLSocket
(before the SSL handshake happens).</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.<a href="https://docs.oracle.com/javase/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="TLS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TLS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TLS</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.http.conn.ssl.SSLConnectionSocketFactory.TLS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="SSL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSL</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SSL</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.http.conn.ssl.SSLConnectionSocketFactory.SSL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="SSLV2">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLV2</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SSLV2</pre>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.http.conn.ssl.SSLConnectionSocketFactory.SSLV2">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="ALLOW_ALL_HOSTNAME_VERIFIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ALLOW_ALL_HOSTNAME_VERIFIER</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a> ALLOW_ALL_HOSTNAME_VERIFIER</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/http/conn/ssl/AllowAllHostnameVerifier.html#INSTANCE"><code>AllowAllHostnameVerifier.INSTANCE</code></a>.</i></div>
</li>
</ul>
<a name="BROWSER_COMPATIBLE_HOSTNAME_VERIFIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BROWSER_COMPATIBLE_HOSTNAME_VERIFIER</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a> BROWSER_COMPATIBLE_HOSTNAME_VERIFIER</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/http/conn/ssl/BrowserCompatHostnameVerifier.html#INSTANCE"><code>BrowserCompatHostnameVerifier.INSTANCE</code></a>.</i></div>
</li>
</ul>
<a name="STRICT_HOSTNAME_VERIFIER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STRICT_HOSTNAME_VERIFIER</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public static final&nbsp;<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a> STRICT_HOSTNAME_VERIFIER</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Use <a href="../../../../../org/apache/http/conn/ssl/StrictHostnameVerifier.html#INSTANCE"><code>StrictHostnameVerifier.INSTANCE</code></a>.</i></div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre>public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext)</pre>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLContext, org.apache.http.conn.ssl.X509HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLContext,
javax.net.ssl.HostnameVerifier)</code></a></i></div>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLContext, java.lang.String[], java.lang.String[], org.apache.http.conn.ssl.X509HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLContext,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLContext,
String[], String[], javax.net.ssl.HostnameVerifier)</code></a></i></div>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory, org.apache.http.conn.ssl.X509HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,
javax.net.ssl.HostnameVerifier)</code></a></i></div>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory, java.lang.String[], java.lang.String[], org.apache.http.conn.ssl.X509HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="../../../../../org/apache/http/conn/ssl/X509HostnameVerifier.html" title="interface in org.apache.http.conn.ssl">X509HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>(4.4) Use <a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html#SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,%20java.lang.String[],%20java.lang.String[],%20javax.net.ssl.HostnameVerifier)"><code>SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory,
String[], String[], javax.net.ssl.HostnameVerifier)</code></a></i></div>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLContext, javax.net.ssl.HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre>public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.4</dd></dl>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLContext, java.lang.String[], java.lang.String[], javax.net.ssl.HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre>public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.4</dd></dl>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory, javax.net.ssl.HostnameVerifier)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre>public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.4</dd></dl>
</li>
</ul>
<a name="SSLConnectionSocketFactory(javax.net.ssl.SSLSocketFactory, java.lang.String[], java.lang.String[], javax.net.ssl.HostnameVerifier)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SSLConnectionSocketFactory</h4>
<pre>public&nbsp;SSLConnectionSocketFactory(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a>&nbsp;socketfactory,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedProtocols,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;supportedCipherSuites,
<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.4</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getDefaultHostnameVerifier()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultHostnameVerifier</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;getDefaultHostnameVerifier()</pre>
<dl><dt><span class="strong">Since:</span></dt>
<dd>4.4</dd></dl>
</li>
</ul>
<a name="getSocketFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocketFactory</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" title="class in org.apache.http.conn.ssl">SSLConnectionSocketFactory</a>&nbsp;getSocketFactory()
throws <a href="../../../../../org/apache/http/conn/ssl/SSLInitializationException.html" title="class in org.apache.http.conn.ssl">SSLInitializationException</a></pre>
<div class="block">Obtains default SSL socket factory with an SSL context based on the standard JSSE
trust material (<code>cacerts</code> file in the security properties directory).
System properties are not taken into consideration.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>default SSL socket factory</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/http/conn/ssl/SSLInitializationException.html" title="class in org.apache.http.conn.ssl">SSLInitializationException</a></code></dd></dl>
</li>
</ul>
<a name="getSystemSocketFactory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemSocketFactory</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" title="class in org.apache.http.conn.ssl">SSLConnectionSocketFactory</a>&nbsp;getSystemSocketFactory()
throws <a href="../../../../../org/apache/http/conn/ssl/SSLInitializationException.html" title="class in org.apache.http.conn.ssl">SSLInitializationException</a></pre>
<div class="block">Obtains default SSL socket factory with an SSL context based on system properties
as described in
<a href="http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html">
Java&#x2122; Secure Socket Extension (JSSE) Reference Guide</a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>default system SSL socket factory</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/http/conn/ssl/SSLInitializationException.html" title="class in org.apache.http.conn.ssl">SSLInitializationException</a></code></dd></dl>
</li>
</ul>
<a name="prepareSocket(javax.net.ssl.SSLSocket)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareSocket</h4>
<pre>protected&nbsp;void&nbsp;prepareSocket(<a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocket.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocket</a>&nbsp;socket)
throws <a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Performs any custom initialization for a newly created SSLSocket
(before the SSL handshake happens).
The default implementation is a no-op, but could be overridden to, e.g.,
call <a href="https://docs.oracle.com/javase/6/docs/api/javax/net/ssl/SSLSocket.html?is-external=true#setEnabledCipherSuites(java.lang.String[])" title="class or interface in javax.net.ssl"><code>SSLSocket.setEnabledCipherSuites(String[])</code></a>.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - may be thrown if overridden</dd></dl>
</li>
</ul>
<a name="createSocket(org.apache.http.protocol.HttpContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSocket</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;createSocket(org.apache.http.protocol.HttpContext&nbsp;context)
throws <a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#createSocket(org.apache.http.protocol.HttpContext)">ConnectionSocketFactory</a></code></strong></div>
<div class="block">Creates new, unconnected socket. The socket should subsequently be passed to
<a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#connectSocket(int,%20java.net.Socket,%20org.apache.http.HttpHost,%20java.net.InetSocketAddress,%20java.net.InetSocketAddress,%20org.apache.http.protocol.HttpContext)"><code>connectSocket</code></a> method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#createSocket(org.apache.http.protocol.HttpContext)">createSocket</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">ConnectionSocketFactory</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a new socket</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs while creating the socket</dd></dl>
</li>
</ul>
<a name="connectSocket(int, java.net.Socket, org.apache.http.HttpHost, java.net.InetSocketAddress, java.net.InetSocketAddress, org.apache.http.protocol.HttpContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectSocket</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;connectSocket(int&nbsp;connectTimeout,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket,
org.apache.http.HttpHost&nbsp;host,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;remoteAddress,
<a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;localAddress,
org.apache.http.protocol.HttpContext&nbsp;context)
throws <a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#connectSocket(int,%20java.net.Socket,%20org.apache.http.HttpHost,%20java.net.InetSocketAddress,%20java.net.InetSocketAddress,%20org.apache.http.protocol.HttpContext)">ConnectionSocketFactory</a></code></strong></div>
<div class="block">Connects the socket to the target host with the given resolved remote address.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#connectSocket(int,%20java.net.Socket,%20org.apache.http.HttpHost,%20java.net.InetSocketAddress,%20java.net.InetSocketAddress,%20org.apache.http.protocol.HttpContext)">connectSocket</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">ConnectionSocketFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>connectTimeout</code> - connect timeout.</dd><dd><code>socket</code> - the socket to connect, as obtained from <a href="../../../../../org/apache/http/conn/socket/ConnectionSocketFactory.html#createSocket(org.apache.http.protocol.HttpContext)"><code>ConnectionSocketFactory.createSocket(HttpContext)</code></a>.
<code>null</code> indicates that a new socket should be created and connected.</dd><dd><code>host</code> - target host as specified by the caller (end user).</dd><dd><code>remoteAddress</code> - the resolved remote address to connect to.</dd><dd><code>localAddress</code> - the local address to bind the socket to, or <code>null</code> for any.</dd><dd><code>context</code> - the actual HTTP context.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the connected socket. The returned object may be different
from the <code>sock</code> argument if this factory supports
a layered protocol.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="createLayeredSocket(java.net.Socket, java.lang.String, int, org.apache.http.protocol.HttpContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createLayeredSocket</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;createLayeredSocket(<a href="https://docs.oracle.com/javase/6/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;socket,
<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;target,
int&nbsp;port,
org.apache.http.protocol.HttpContext&nbsp;context)
throws <a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/LayeredConnectionSocketFactory.html#createLayeredSocket(java.net.Socket,%20java.lang.String,%20int,%20org.apache.http.protocol.HttpContext)">LayeredConnectionSocketFactory</a></code></strong></div>
<div class="block">Returns a socket connected to the given host that is layered over an
existing socket. Used primarily for creating secure sockets through
proxies.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/http/conn/socket/LayeredConnectionSocketFactory.html#createLayeredSocket(java.net.Socket,%20java.lang.String,%20int,%20org.apache.http.protocol.HttpContext)">createLayeredSocket</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/http/conn/socket/LayeredConnectionSocketFactory.html" title="interface in org.apache.http.conn.socket">LayeredConnectionSocketFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>socket</code> - the existing socket</dd><dd><code>target</code> - the name of the target host.</dd><dd><code>port</code> - the port to connect to on the target host.</dd><dd><code>context</code> - the actual HTTP context.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Socket a new socket</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs while creating the socket</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SSLConnectionSocketFactory.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/http/conn/ssl/PrivateKeyStrategy.html" title="interface in org.apache.http.conn.ssl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/http/conn/ssl/SSLContextBuilder.html" title="class in org.apache.http.conn.ssl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/http/conn/ssl/SSLConnectionSocketFactory.html" target="_top">Frames</a></li>
<li><a href="SSLConnectionSocketFactory.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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; 1999&#x2013;2022 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>