* CertificateValidationHelper.GetDefaultValidator(): rename this internal method into
GetInternalValidator() (keeping the old as [Obsolete] until products have been updated).
* CertificateValidationHelper.GetValidator(): remove the 'provider' argument.
This is part of a set of cleanups and simplifications for the upcoming BTLS integration.
/*
* Internal API, intended to be used by MonoTlsProvider implementations.
*/
+ internal static ICertificateValidator2 GetInternalValidator (MonoTlsSettings settings, MonoTlsProvider provider)
+ {
+ return (ICertificateValidator2)NoReflectionHelper.GetInternalValidator (provider, settings);
+ }
+
+ [Obsolete ("Use GetInternalValidator")]
internal static ICertificateValidator2 GetDefaultValidator (MonoTlsSettings settings, MonoTlsProvider provider)
{
- return (ICertificateValidator2)NoReflectionHelper.GetDefaultCertificateValidator (provider, settings);
+ return GetInternalValidator (settings, provider);
}
/*
* Use this overloaded version in user code.
*/
- public static ICertificateValidator GetValidator (MonoTlsSettings settings, MonoTlsProvider provider = null)
+ public static ICertificateValidator GetValidator (MonoTlsSettings settings)
{
- return GetDefaultValidator (settings, provider);
+ return (ICertificateValidator)NoReflectionHelper.GetDefaultValidator (settings);
}
}
}
readonly MonoTlsStream tlsStream;
readonly HttpWebRequest request;
- internal static ICertificateValidator GetDefaultValidator (MonoTlsProvider provider, MonoTlsSettings settings)
+ internal static ICertificateValidator GetInternalValidator (MonoTlsProvider provider, MonoTlsSettings settings)
{
if (settings == null)
return new ChainValidationHelper (provider, null, false, null, null);
return new ChainValidationHelper (provider, settings, false, null, null);
}
+ internal static ICertificateValidator GetDefaultValidator (MonoTlsSettings settings)
+ {
+ var provider = MonoTlsProviderFactory.GetProvider ();
+ if (settings == null)
+ return new ChainValidationHelper (provider, null, false, null, null);
+ if (settings.CertificateValidator != null)
+ throw new NotSupportedException ();
+ return new ChainValidationHelper (provider, settings, false, null, null);
+ }
+
#region SslStream support
/*
settings = MonoTlsSettings.CopyDefaultSettings ();
if (cloneSettings)
settings = settings.CloneWithValidator (this);
+ if (provider == null)
+ provider = MonoTlsProviderFactory.GetProvider ();
this.provider = provider;
this.settings = settings;
: base (innerStream, leaveInnerStreamOpen)
{
this.provider = provider;
- certificateValidator = ChainValidationHelper.GetDefaultValidator (provider, settings);
+ certificateValidator = ChainValidationHelper.GetInternalValidator (provider, settings);
}
#endregion // Constructors
this.clientCertificates = clientCertificates;
this.askForClientCert = askForClientCert;
- certificateValidator = CertificateValidationHelper.GetDefaultValidator (
+ certificateValidator = CertificateValidationHelper.GetInternalValidator (
parent.Settings, parent.Provider);
}
//
internal static class NoReflectionHelper
{
- internal static object GetDefaultCertificateValidator (object provider, object settings)
+ internal static object GetInternalValidator (object provider, object settings)
{
#if SECURITY_DEP
- return ChainValidationHelper.GetDefaultValidator ((MSI.MonoTlsProvider)provider, (MSI.MonoTlsSettings)settings);
+ 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);
#else
throw new NotSupportedException ();
#endif