private IStreamFactory CreateStreamFactory(ClusterKey clusterKey) { var tcpStreamSettings = CreateTcpStreamSettings(clusterKey); IStreamFactory streamFactory = new TcpStreamFactory(tcpStreamSettings); if (clusterKey.SslSettings != null) { var sslStreamSettings = new SslStreamSettings( clientCertificates: Optional.Create(clusterKey.SslSettings.ClientCertificates ?? Enumerable.Empty <X509Certificate>()), checkCertificateRevocation: clusterKey.SslSettings.CheckCertificateRevocation, clientCertificateSelectionCallback: clusterKey.SslSettings.ClientCertificateSelectionCallback, enabledProtocols: clusterKey.SslSettings.EnabledSslProtocols, serverCertificateValidationCallback: clusterKey.SslSettings.ServerCertificateValidationCallback); streamFactory = new SslStreamFactory(sslStreamSettings, streamFactory); } return(streamFactory); }
private IStreamFactory CreateStreamFactory(ClusterKey clusterKey) { var tcpStreamSettings = CreateTcpStreamSettings(clusterKey); IStreamFactory streamFactory = new TcpStreamFactory(tcpStreamSettings); if (clusterKey.SslSettings != null) { var sslStreamSettings = new SslStreamSettings( new Optional <IEnumerable <X509Certificate> >(clusterKey.SslSettings.ClientCertificates), clusterKey.SslSettings.CheckCertificateRevocation, clusterKey.SslSettings.ClientCertificateSelectionCallback, clusterKey.SslSettings.EnabledSslProtocols, clusterKey.SslSettings.ServerCertificateValidationCallback); streamFactory = new SslStreamFactory(sslStreamSettings, streamFactory); } return(streamFactory); }
private SslStreamSettings ConfigureSsl(SslStreamSettings settings, ClusterKey clusterKey) { if (clusterKey.SslSettings != null) { var validationCallback = clusterKey.SslSettings.ServerCertificateValidationCallback; if (validationCallback == null && !clusterKey.VerifySslCertificate) { validationCallback = AcceptAnySslCertificate; } return(settings.With( clientCertificates: Optional.Create(clusterKey.SslSettings.ClientCertificates ?? Enumerable.Empty <X509Certificate>()), checkCertificateRevocation: clusterKey.SslSettings.CheckCertificateRevocation, clientCertificateSelectionCallback: clusterKey.SslSettings.ClientCertificateSelectionCallback, enabledProtocols: clusterKey.SslSettings.EnabledSslProtocols, serverCertificateValidationCallback: validationCallback)); } return(settings); }
private SslStreamSettings ConfigureSsl(SslStreamSettings settings, ClusterKey clusterKey) { if (clusterKey.UseTls) { var sslSettings = clusterKey.SslSettings ?? new SslSettings(); var validationCallback = sslSettings.ServerCertificateValidationCallback; if (validationCallback == null && clusterKey.AllowInsecureTls) { validationCallback = AcceptAnySslCertificate; } return(settings.With( clientCertificates: Optional.Enumerable(sslSettings.ClientCertificates ?? Enumerable.Empty <X509Certificate>()), checkCertificateRevocation: sslSettings.CheckCertificateRevocation, clientCertificateSelectionCallback: sslSettings.ClientCertificateSelectionCallback, enabledProtocols: sslSettings.EnabledSslProtocols, serverCertificateValidationCallback: validationCallback)); } return(settings); }
public SslStreamFactory(SslStreamSettings settings, IStreamFactory wrapped) { _settings = Ensure.IsNotNull(settings, nameof(settings)); _wrapped = Ensure.IsNotNull(wrapped, nameof(wrapped)); }
public SslStreamFactory(SslStreamSettings settings, IStreamFactory wrapped) { _settings = Ensure.IsNotNull(settings, "settings"); _wrapped = Ensure.IsNotNull(wrapped, "wrapped"); }