diff options
author | Martin Hibdon <mhibdon@google.com> | 2014-10-21 15:11:40 -0700 |
---|---|---|
committer | Martin Hibdon <mhibdon@google.com> | 2014-10-21 15:20:56 -0700 |
commit | 303b553b13a02529fc8cb22b9b37672887759ce9 (patch) | |
tree | 48498317872a83d28c54d633f1f10a1a3ee5c29c /emailcommon | |
parent | a908d45ae3519ecdc82e187d1ab72e8991ea7ed8 (diff) | |
download | android_packages_apps_Email-303b553b13a02529fc8cb22b9b37672887759ce9.tar.gz android_packages_apps_Email-303b553b13a02529fc8cb22b9b37672887759ce9.tar.bz2 android_packages_apps_Email-303b553b13a02529fc8cb22b9b37672887759ce9.zip |
Allow an external security provider to be installed
b/18001842
Change-Id: I8312fe541896e1ceeb6c5102f90bdbb0bb945151
Diffstat (limited to 'emailcommon')
-rw-r--r-- | emailcommon/src/com/android/emailcommon/utility/SSLUtils.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/emailcommon/src/com/android/emailcommon/utility/SSLUtils.java b/emailcommon/src/com/android/emailcommon/utility/SSLUtils.java index f42e83c6e..49963bc3c 100644 --- a/emailcommon/src/com/android/emailcommon/utility/SSLUtils.java +++ b/emailcommon/src/com/android/emailcommon/utility/SSLUtils.java @@ -138,16 +138,15 @@ public class SSLUtils { } } - public static abstract class ExternalSecureSocketFactoryBuilder { - abstract public javax.net.ssl.SSLSocketFactory createSecureSocketFactory( - final Context context, final int handshakeTimeoutMillis); + public static abstract class ExternalSecurityProviderInstaller { + abstract public void installIfNeeded(final Context context); } - private static ExternalSecureSocketFactoryBuilder sExternalSocketFactoryBuilder; + private static ExternalSecurityProviderInstaller sExternalSecurityProviderInstaller; - public static void setExternalSecureSocketFactoryBuilder( - ExternalSecureSocketFactoryBuilder builder) { - sExternalSocketFactoryBuilder = builder; + public static void setExternalSecurityProviderInstaller ( + ExternalSecurityProviderInstaller installer) { + sExternalSecurityProviderInstaller = installer; } /** @@ -159,6 +158,11 @@ public class SSLUtils { public synchronized static javax.net.ssl.SSLSocketFactory getSSLSocketFactory( final Context context, final HostAuth hostAuth, final KeyManager keyManager, final boolean insecure) { + // If we have an external security provider installer, then install. This will + // potentially replace the default implementation of SSLSocketFactory. + if (sExternalSecurityProviderInstaller != null) { + sExternalSecurityProviderInstaller.installIfNeeded(context); + } try { final KeyManager[] keyManagers = (keyManager == null ? null : new KeyManager[]{keyManager}); |