Esempio n. 1
0
 internal HttpListener(X509Certificate certificate, IMonoTlsProvider tlsProvider, MSI.MonoTlsSettings tlsSettings)
     : this()
 {
     this.certificate = certificate;
     this.tlsProvider = tlsProvider;
     this.tlsSettings = tlsSettings;
 }
Esempio n. 2
0
 internal static void SetDefaultProvider(string name)
 {
     lock (locker) {
         var provider = LookupProvider(name, true);
         currentProvider = new Private.MonoTlsProviderWrapper(provider);
     }
 }
Esempio n. 3
0
		internal HttpListener (X509Certificate2 certificate, IMonoTlsProvider tlsProvider, MSI.MonoTlsSettings tlsSettings)
			: this ()
		{
			this.certificate = certificate;
			this.tlsProvider = tlsProvider;
			this.tlsSettings = tlsSettings;
		}
Esempio n. 4
0
 static IMonoTlsProvider GetTlsProvider()
 {
     lock (locker) {
         if (provider == null)
         {
             provider = new Private.MonoTlsProviderWrapper(new AppleTlsProvider());
         }
         return(provider);
     }
 }
Esempio n. 5
0
        void EnsureSSLStreamAvailable(HttpWebRequest request)
        {
            tlsProvider = request.TlsProvider;
            if (tlsProvider != null)
            {
                return;
            }

            tlsProvider = MonoTlsProviderFactory.GetProviderInternal();
        }
Esempio n. 6
0
        public MonoTlsStream(HttpWebRequest request, NetworkStream networkStream)
        {
            this.request       = request;
            this.networkStream = networkStream;

            settings = request.TlsSettings;
            provider = request.TlsProvider ?? MonoTlsProviderFactory.GetProviderInternal();
            status   = WebExceptionStatus.SecureChannelFailure;

            /*validationHelper =*/ ChainValidationHelper.Create(provider.Provider, ref settings, this);
        }
Esempio n. 7
0
 internal IMonoSslStream CreateSslStream(Stream innerStream, bool ownsStream, MSI.MonoRemoteCertificateValidationCallback callback)
 {
     lock (registry) {
         if (tlsProvider == null)
         {
             tlsProvider = MonoTlsProviderFactory.GetProviderInternal();
         }
         if (tlsSettings == null)
         {
             tlsSettings = MSI.MonoTlsSettings.CopyDefaultSettings();
         }
         if (tlsSettings.RemoteCertificateValidationCallback == null)
         {
             tlsSettings.RemoteCertificateValidationCallback = callback;
         }
         return(tlsProvider.CreateSslStream(innerStream, ownsStream, tlsSettings));
     }
 }
Esempio n. 8
0
        static void InitializeProviderRegistration()
        {
            lock (locker) {
                if (providerRegistration != null)
                {
                    return;
                }
                providerRegistration = new Dictionary <string, string> ();

                string legacyProvider = "Mono.Net.Security.LegacyTlsProvider";
                providerRegistration.Add("legacy", legacyProvider);

                string defaultProvider = null;
                if (IsBtlsSupported())
                {
                    var btlsProvider = "Mono.Btls.MonoBtlsProvider";
                    providerRegistration.Add("btls", btlsProvider);
                    defaultProvider = btlsProvider;
                }

                if (Platform.IsMacOS)
                {
                    var appleProvider = "Mono.AppleTls.AppleTlsProvider";
                    providerRegistration.Add("apple", appleProvider);
                    defaultProvider = appleProvider;
                }

                if (defaultProvider == null)
                {
                    defaultProvider = legacyProvider;
                }

                providerRegistration.Add("default", defaultProvider);

                X509Helper2.Initialize();
            }
        }
Esempio n. 9
0
		public MonoTlsStream (HttpWebRequest request, NetworkStream networkStream)
		{
			this.request = request;
			this.networkStream = networkStream;

			settings = request.TlsSettings;
			provider = request.TlsProvider ?? MonoTlsProviderFactory.GetProviderInternal ();
			status = WebExceptionStatus.SecureChannelFailure;

			validationHelper = ChainValidationHelper.Create (provider.Provider, ref settings, this);
		}
Esempio n. 10
0
		internal static void InstallProvider (MSI.MonoTlsProvider provider)
		{
			lock (locker) {
				currentProvider = new Private.MonoTlsProviderWrapper (provider);
			}
		}
Esempio n. 11
0
		internal static void SetDefaultProvider (string name)
		{
			lock (locker) {
				var provider = LookupProvider (name, true);
				currentProvider = new Private.MonoTlsProviderWrapper (provider);
			}
		}
Esempio n. 12
0
 internal static void InstallProvider(MSI.MonoTlsProvider provider)
 {
     lock (locker) {
         currentProvider = new Private.MonoTlsProviderWrapper(provider);
     }
 }
Esempio n. 13
0
		internal IMonoSslStream CreateSslStream (Stream innerStream, bool ownsStream, MSI.MonoRemoteCertificateValidationCallback callback)
		{
			lock (registry) {
				if (tlsProvider == null)
					tlsProvider = MonoTlsProviderFactory.GetProviderInternal ();
				if (tlsSettings == null)
					tlsSettings = new MSI.MonoTlsSettings ();
				if (tlsSettings.RemoteCertificateValidationCallback == null)
					tlsSettings.RemoteCertificateValidationCallback = callback;
				return tlsProvider.CreateSslStream (innerStream, ownsStream, tlsSettings);
			}
		}
Esempio n. 14
0
		internal HttpWebRequest (Uri uri, IMonoTlsProvider tlsProvider, MonoTlsSettings settings = null)
			: this (uri)
		{
			this.tlsProvider = tlsProvider;
			this.tlsSettings = settings;
		}
Esempio n. 15
0
		void EnsureSSLStreamAvailable (HttpWebRequest request)
		{
			tlsProvider = request.TlsProvider;
			if (tlsProvider != null)
				return;

			tlsProvider = MonoTlsProviderFactory.GetProviderInternal ();
		}