Beispiel #1
0
        void EnsureSSLStreamAvailable(HttpWebRequest request)
        {
            tlsProvider = request.TlsProvider;
            if (tlsProvider != null)
            {
                return;
            }

            tlsProvider = MonoTlsProviderFactory.GetProviderInternal();
        }
Beispiel #2
0
        internal bool ChangeToSSLSocket(ref Stream stream)
        {
#if SECURITY_DEP
            var provider = MonoTlsProviderFactory.GetProviderInternal();
            var settings = MSI.MonoTlsSettings.CopyDefaultSettings();
            settings.UseServicePointManagerCallback = true;
            var sslStream = provider.CreateSslStream(stream, true, settings);
            sslStream.AuthenticateAsClient(requestUri.Host, null, SslProtocols.Default, false);
            stream = sslStream.AuthenticatedStream;
            return(true);
#else
            throw new NotImplementedException();
#endif
        }
Beispiel #3
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));
     }
 }