From 928ee1e48fa89302d02fdf8a8a2c7315d7195e7c Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Tue, 23 Jul 2013 20:36:03 -0700 Subject: [PATCH] Use hostname verifier directly instead of instance Instead of local instance of the default HostnameVerifier, use it directly from HttpsURLConnection. This avoids class preloading creating an instance of it before it's necessary. Bug: 9984058 Change-Id: I780249dbd3c7bb346e1b275dcb68e4e2be7ebbbb --- core/java/android/net/SSLCertificateSocketFactory.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/java/android/net/SSLCertificateSocketFactory.java b/core/java/android/net/SSLCertificateSocketFactory.java index 31c8edb6ebb5..208b2126e14d 100644 --- a/core/java/android/net/SSLCertificateSocketFactory.java +++ b/core/java/android/net/SSLCertificateSocketFactory.java @@ -81,9 +81,6 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { } }; - private static final HostnameVerifier HOSTNAME_VERIFIER = - HttpsURLConnection.getDefaultHostnameVerifier(); - private SSLSocketFactory mInsecureFactory = null; private SSLSocketFactory mSecureFactory = null; private TrustManager[] mTrustManagers = null; @@ -196,7 +193,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { if (session == null) { throw new SSLException("Cannot verify SSL socket without session"); } - if (!HOSTNAME_VERIFIER.verify(hostname, session)) { + if (!HttpsURLConnection.getDefaultHostnameVerifier().verify(hostname, session)) { throw new SSLPeerUnverifiedException("Cannot verify hostname: " + hostname); } } -- 2.11.0