Mega Code Archive

 
Categories / C# / Security
 

ClientCertificates

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]);             }         }     } }