Merge pull request #2698 from esdrubal/iosxmlarray
[mono.git] / mcs / class / Mono.Security / Mono.Security.Interface / MonoTlsProvider.cs
index b1daa60e1fc4fc0fc50fd763d440386c0aaa9252..8b7c6ddecfc28a375c64139d08d003fb67f6a2ce 100644 (file)
@@ -72,6 +72,10 @@ namespace Mono.Security.Interface
 
        public abstract class MonoTlsProvider
        {
+               internal MonoTlsProvider ()
+               {
+               }
+
                public abstract Guid ID {
                        get;
                }
@@ -91,6 +95,13 @@ namespace Mono.Security.Interface
                        get;
                }
 
+               /*
+                * Does this provider support IMonoSslStream.GetConnectionInfo() ?
+                */
+               public abstract bool SupportsConnectionInfo {
+                       get;
+               }
+
                /*
                 * Whether or not this TLS Provider supports Mono-specific extensions
                 * (via @MonoTlsSettings).
@@ -133,7 +144,7 @@ namespace Mono.Security.Interface
                 */
                public virtual bool InvokeSystemCertificateValidator (
                        ICertificateValidator validator, string targetHost, bool serverMode,
-                       X509CertificateCollection certificates, X509Chain chain, out bool success,
+                       X509CertificateCollection certificates, ref X509Chain chain, out bool success,
                        ref MonoSslPolicyErrors errors, ref int status11)
                {
                        success = false;
@@ -148,11 +159,11 @@ namespace Mono.Security.Interface
                 * The managed SSPI implementation from the new TLS code.
                 */
 
-               public abstract bool SupportsTlsContext {
+               internal abstract bool SupportsTlsContext {
                        get;
                }
 
-               public abstract IMonoTlsContext CreateTlsContext (
+               internal abstract IMonoTlsContext CreateTlsContext (
                        string hostname, bool serverMode, TlsProtocols protocolFlags,
                        X509Certificate serverCertificate, X509CertificateCollection clientCertificates,
                        bool remoteCertRequired, MonoEncryptionPolicy encryptionPolicy,