protected MobileTlsContext(MobileAuthenticatedStream parent, MonoSslAuthenticationOptions options) { Parent = parent; Options = options; IsServer = options.ServerMode; EnabledProtocols = options.EnabledSslProtocols; if (options.ServerMode) { LocalServerCertificate = options.ServerCertificate; AskForClientCertificate = options.ClientCertificateRequired; } else { ClientCertificates = options.ClientCertificates; TargetHost = options.TargetHost; ServerName = options.TargetHost; if (!string.IsNullOrEmpty(ServerName)) { var pos = ServerName.IndexOf(':'); if (pos > 0) { ServerName = ServerName.Substring(0, pos); } } } certificateValidator = (ICertificateValidator2)ChainValidationHelper.GetInternalValidator( parent.SslStream, parent.Provider, parent.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 }