public void RedisLabsSSL() { Skip.IfNoConfig(nameof(TestConfig.Config.RedisLabsSslServer), TestConfig.Current.RedisLabsSslServer); Skip.IfNoConfig(nameof(TestConfig.Config.RedisLabsPfxPath), TestConfig.Current.RedisLabsPfxPath); var cert = new X509Certificate2(TestConfig.Current.RedisLabsPfxPath, ""); Assert.NotNull(cert); Writer.WriteLine("Thumbprint: " + cert.Thumbprint); int timeout = 5000; if (Debugger.IsAttached) { timeout *= 100; } var options = new ConfigurationOptions { EndPoints = { { TestConfig.Current.RedisLabsSslServer, TestConfig.Current.RedisLabsSslPort } }, ConnectTimeout = timeout, AllowAdmin = true, CommandMap = CommandMap.Create(new HashSet <string> { "subscribe", "unsubscribe", "cluster" }, false) }; options.TrustIssuer("redislabs_ca.pem"); if (!Directory.Exists(Me())) { Directory.CreateDirectory(Me()); } #if LOGOUTPUT ConnectionMultiplexer.EchoPath = Me(); #endif options.Ssl = true; options.CertificateSelection += delegate { return(cert); }; RedisKey key = Me(); using (var conn = ConnectionMultiplexer.Connect(options)) { var db = conn.GetDatabase(); db.KeyDelete(key, CommandFlags.FireAndForget); string s = db.StringGet(key); Assert.Null(s); db.StringSet(key, "abc", flags: CommandFlags.FireAndForget); s = db.StringGet(key); Assert.Equal("abc", s); var latency = db.Ping(); Log("RedisLabs latency: {0:###,##0.##}ms", latency.TotalMilliseconds); using (var file = File.Create("RedisLabs.zip")) { conn.ExportConfiguration(file); } } }