using System; using System.Net; using System.Security.Cryptography.X509Certificates; class MainClass { public static void Main() { WebRequest requestA = WebRequest.Create("http://www.yoursite.com"); requestA.Credentials = new NetworkCredential("userName", "password"); requestA.PreAuthenticate = true; WebRequest requestB = WebRequest.Create("http://www.yoursite.com"); requestB.Credentials = CredentialCache.DefaultCredentials; requestB.PreAuthenticate = true; HttpWebRequest requestC = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com"); X509Certificate cert1 = X509Certificate.CreateFromCertFile("TestCertificate.cer"); requestC.ClientCertificates.Add(cert1); HttpWebRequest requestD = (HttpWebRequest)WebRequest.Create("http://www.yoursite.com"); X509Store store = new X509Store(); X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName,"Joe", false); if (certs.Count == 1) { requestD.ClientCertificates.Add(certs[0]); } else { certs = X509Certificate2UI.SelectFromCollection( store.Certificates, "Select Certificate", "Select the certificate to use for authentication.", X509SelectionFlag.SingleSelection); if (certs.Count != 0) { requestD.ClientCertificates.Add(certs[0]); } } } }