[Mono.Security]: Cleanup Mono.Security.Interface.CertificateValidationHelper.
[mono.git] / mcs / class / System / Mono.Net.Security / NoReflectionHelper.cs
index 2b01fd32a6d9268b1bc0c25039fb52841cda60ae..38600ac8d88e0098ebb8afb295e6a9419b2df8c2 100644 (file)
@@ -38,6 +38,7 @@ using System.Security.Cryptography.X509Certificates;
 
 using System;
 using System.Net;
+using System.Net.Security;
 
 namespace Mono.Net.Security
 {
@@ -46,7 +47,16 @@ namespace Mono.Net.Security
        //
        internal static class NoReflectionHelper
        {
-               internal static object GetDefaultCertificateValidator (object settings)
+               internal static object GetInternalValidator (object provider, object settings)
+               {
+                       #if SECURITY_DEP
+                       return ChainValidationHelper.GetInternalValidator ((MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+                       #else
+                       throw new NotSupportedException ();
+                       #endif
+               }
+
+               internal static object GetDefaultValidator (object settings)
                {
                        #if SECURITY_DEP
                        return ChainValidationHelper.GetDefaultValidator ((MSI.MonoTlsSettings)settings);
@@ -83,10 +93,10 @@ namespace Mono.Net.Security
                        }
                }
 
-               internal static void InstallProvider (object provider)
+               internal static void SetDefaultProvider (string name)
                {
                        #if SECURITY_DEP
-                       MonoTlsProviderFactory.InstallProvider ((MSI.MonoTlsProvider)provider);
+                       MonoTlsProviderFactory.SetDefaultProvider (name);
                        #else
                        throw new NotSupportedException ();
                        #endif
@@ -104,7 +114,25 @@ namespace Mono.Net.Security
                internal static object CreateHttpListener (object certificate, object provider, object settings)
                {
                        #if SECURITY_DEP
-                       return MonoTlsProviderFactory.CreateHttpListener ((X509Certificate2)certificate, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+                       return MonoTlsProviderFactory.CreateHttpListener ((X509Certificate)certificate, (MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+                       #else
+                       throw new NotSupportedException ();
+                       #endif
+               }
+
+               internal static object GetMonoSslStream (SslStream stream)
+               {
+                       #if SECURITY_DEP
+                       return stream.Impl;
+                       #else
+                       throw new NotSupportedException ();
+                       #endif
+               }
+
+               internal static object GetProvider (string name)
+               {
+                       #if SECURITY_DEP
+                       return MonoTlsProviderFactory.GetProvider (name);
                        #else
                        throw new NotSupportedException ();
                        #endif