public void CanListCertificates() { var testEndpoints = new[] { new IPEndPoint(IPAddress.Parse("127.0.0.1"), 462), new IPEndPoint(IPAddress.Parse("127.0.0.2"), 462) }; HttpAPIManager manager = new HttpAPIManager(); var oldSslCount = manager.GetSSLInfos().Count(); try { foreach (var endpoint in testEndpoints) { manager.SetSSLInfo(endpoint, new SSLInfo(TestCertificate.Thumbprint)); } var newSslCount = manager.GetSSLInfos().Count(); Assert.Equal(oldSslCount + testEndpoints.Length, newSslCount); } finally { foreach (var endpoint in testEndpoints) { manager.RemoveSSLInfo(endpoint); } } }
public void CanAttachCTLToSSLInfo() { var testEndpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2924); CTLContextBuilder builder = new CTLContextBuilder(); builder.CTLInfo.ListIdentifier = "my test list binding"; builder.CTLInfo.Certificates.Add(Verisign); builder.CTLInfo.Certificates.Add(KisaRoot1); builder.Signers.Add(TestCertificate); HttpAPIManager manager = new HttpAPIManager(); var context = builder.ToCTLContext(); try { context.ImportInStore(StoreLocation.LocalMachine, StoreName.Root); SSLInfo info = new SSLInfo(); info.CheckClientCertificate = false; info.NegotiateClientCert = true; info.CTLIdentifier = context.CTLInfo.ListIdentifier; info.CTLStoreName = StoreName.Root; info.Certificate = TestCertificate; manager.SetSSLInfo(testEndpoint, info); } finally { context.RemoveFromStore(StoreLocation.LocalMachine, StoreName.Root); manager.RemoveSSLInfo(testEndpoint); } }
public void CanSetCertificates() { var testEndpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 462); HttpAPIManager manager = new HttpAPIManager(); manager.SetSSLInfo(testEndpoint, new SSLInfo(TestCertificate.Thumbprint)); try { var sslInfo = manager.GetSSLInfo(testEndpoint); Assert.NotNull(sslInfo); Assert.Equal(TestCertificate.Thumbprint, sslInfo.Certificate.Thumbprint); } finally { manager.RemoveSSLInfo(testEndpoint); var sslInfo = manager.GetSSLInfo(testEndpoint); Assert.Null(sslInfo); } }