You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2014/03/06 14:53:36 UTC

svn commit: r1574880 - in /httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http: conn/ssl/SSLConnectionSocketFactory.java impl/client/HttpClientBuilder.java

Author: olegk
Date: Thu Mar  6 13:53:36 2014
New Revision: 1574880

URL: http://svn.apache.org/r1574880
Log:
Use Android SSLCertificateSocketFactory by default

Modified:
    httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/conn/ssl/SSLConnectionSocketFactory.java
    httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java

Modified: httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/conn/ssl/SSLConnectionSocketFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/conn/ssl/SSLConnectionSocketFactory.java?rev=1574880&r1=1574879&r2=1574880&view=diff
==============================================================================
--- httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/conn/ssl/SSLConnectionSocketFactory.java (original)
+++ httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/conn/ssl/SSLConnectionSocketFactory.java Thu Mar  6 13:53:36 2014
@@ -35,8 +35,8 @@ import org.apache.http.util.Args;
 import org.apache.http.util.TextUtils;
 
 import javax.net.SocketFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocket;
+import javax.net.ssl.*;
+
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.Socket;
@@ -145,7 +145,7 @@ public class SSLConnectionSocketFactory 
      */
     public static SSLConnectionSocketFactory getSocketFactory() throws SSLInitializationException {
         return new SSLConnectionSocketFactory(
-            SSLContexts.createDefault(),
+            (javax.net.ssl.SSLSocketFactory) SSLCertificateSocketFactory.getDefault(0),
             BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
     }
 
@@ -167,7 +167,7 @@ public class SSLConnectionSocketFactory 
      */
     public static SSLConnectionSocketFactory getSystemSocketFactory() throws SSLInitializationException {
         return new SSLConnectionSocketFactory(
-            (javax.net.ssl.SSLSocketFactory) javax.net.ssl.SSLSocketFactory.getDefault(),
+            (javax.net.ssl.SSLSocketFactory) SSLCertificateSocketFactory.getDefault(0),
             split(System.getProperty("https.protocols")),
             split(System.getProperty("https.cipherSuites")),
             BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
@@ -281,6 +281,7 @@ public class SSLConnectionSocketFactory 
 
         // Android specific code to enable SNI
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+
             if (this.socketfactory instanceof SSLCertificateSocketFactory) {
                 if (Log.isLoggable(TAG, Log.DEBUG)) {
                     Log.d(TAG, "Enabling SNI for " + target);

Modified: httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java?rev=1574880&r1=1574879&r2=1574880&view=diff
==============================================================================
--- httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java (original)
+++ httpcomponents/httpclient-android/branches/4.3.3-android/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java Thu Mar  6 13:53:36 2014
@@ -76,7 +76,6 @@ import org.apache.http.conn.socket.Conne
 import org.apache.http.conn.socket.LayeredConnectionSocketFactory;
 import org.apache.http.conn.socket.PlainConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.conn.ssl.SSLContexts;
 import org.apache.http.conn.ssl.X509HostnameVerifier;
 import org.apache.http.cookie.CookieSpecProvider;
 import org.apache.http.impl.DefaultConnectionReuseStrategyHC4;
@@ -111,6 +110,8 @@ import org.apache.http.protocol.RequestU
 import org.apache.http.util.TextUtils;
 import org.apache.http.util.VersionInfoHC4;
 
+import android.net.SSLCertificateSocketFactory;
+
 /**
  * Builder for {@link CloseableHttpClient} instances.
  * <p/>
@@ -711,11 +712,11 @@ public class HttpClientBuilder {
                 } else {
                     if (systemProperties) {
                         sslSocketFactory = new SSLConnectionSocketFactory(
-                                (SSLSocketFactory) SSLSocketFactory.getDefault(),
+                                (SSLSocketFactory) SSLCertificateSocketFactory.getDefault(0),
                                 supportedProtocols, supportedCipherSuites, hostnameVerifier);
                     } else {
                         sslSocketFactory = new SSLConnectionSocketFactory(
-                                SSLContexts.createDefault(),
+                                (SSLSocketFactory) SSLCertificateSocketFactory.getDefault(0),
                                 hostnameVerifier);
                     }
                 }