public IMonoSslStream CreateSslStream(
            Stream innerStream, bool leaveInnerStreamOpen,
            MSI.MonoTlsSettings settings)
        {
            var sslStream         = provider.CreateSslStream(innerStream, leaveInnerStreamOpen, settings);
            var monoSslStreamImpl = sslStream as MonoSslStreamImpl;

            if (monoSslStreamImpl != null)
            {
                return(monoSslStreamImpl.Impl);
            }
            return(new MonoSslStreamWrapper(sslStream));
        }
Esempio n. 2
0
 internal SslStream CreateSslStream(Stream innerStream, bool ownsStream, MSI.MonoRemoteCertificateValidationCallback callback)
 {
     lock (registry) {
         if (tlsProvider == null)
         {
             tlsProvider = MSI.MonoTlsProviderFactory.GetProvider();
         }
         if (tlsSettings == null)
         {
             tlsSettings = MSI.MonoTlsSettings.CopyDefaultSettings();
         }
         if (tlsSettings.RemoteCertificateValidationCallback == null)
         {
             tlsSettings.RemoteCertificateValidationCallback = callback;
         }
         var sslStream = tlsProvider.CreateSslStream(innerStream, ownsStream, tlsSettings);
         return(sslStream.SslStream);
     }
 }