Exemple #1
0
        internal static void InitializeInternal()
        {
            lock (locker) {
                if (initialized)
                {
                    return;
                }

                SystemDependencyProvider.Initialize();

                InitializeProviderRegistration();

                MobileTlsProvider provider;
                try {
                    provider = CreateDefaultProviderImpl();
                } catch (Exception ex) {
                    throw new NotSupportedException("TLS Support not available.", ex);
                }

                if (provider == null)
                {
                    throw new NotSupportedException("TLS Support not available.");
                }

                if (!providerCache.ContainsKey(provider.ID))
                {
                    providerCache.Add(provider.ID, provider);
                }

                defaultProvider = provider;
                initialized     = true;
            }
        }
Exemple #2
0
        internal static void InitializeInternal(string provider)
        {
            lock (locker) {
                if (initialized)
                {
                    throw new NotSupportedException("TLS Subsystem already initialized.");
                }

                SystemDependencyProvider.Initialize();

                defaultProvider = LookupProvider(provider, true);

                initialized = true;
            }
        }
        static AndroidPlatform()
        {
            var t = Type.GetType("Android.Runtime.AndroidEnvironment, Mono.Android", throwOnError: true);

#if SECURITY_DEP
            trustEvaluateSsl = (Converter <List <byte[]>, bool>)
                               Delegate.CreateDelegate(typeof(Converter <List <byte[]>, bool>),
                                                       t,
                                                       "TrustEvaluateSsl",
                                                       ignoreCase: false,
                                                       throwOnBindFailure: true);
#if MONO_FEATURE_BTLS
            certStoreLookup = (Func <long, bool, byte[]>)
                              Delegate.CreateDelegate(typeof(Func <long, bool, byte[]>),
                                                      t,
                                                      "CertStoreLookup",
                                                      ignoreCase: false,
                                                      throwOnBindFailure: true);
#endif  // MONO_FEATURE_BTLS
            SystemDependencyProvider.Initialize();
#endif  // SECURITY_DEP
            getDefaultProxy = (Func <IWebProxy>)Delegate.CreateDelegate(
                typeof(Func <IWebProxy>), t, "GetDefaultProxy",
                ignoreCase: false,
                throwOnBindFailure: true);

            getInterfaceAddresses = (GetInterfaceAddressesDelegate)Delegate.CreateDelegate(
                typeof(GetInterfaceAddressesDelegate), t, "GetInterfaceAddresses",
                ignoreCase: false,
                throwOnBindFailure: false);

            freeInterfaceAddresses = (FreeInterfaceAddressesDelegate)Delegate.CreateDelegate(
                typeof(FreeInterfaceAddressesDelegate), t, "FreeInterfaceAddresses",
                ignoreCase: false,
                throwOnBindFailure: false);
        }