ClientCertificates : X509Certificates « Security « C# / C Sharp






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

   
  








Related examples in the same category

1.Gets a certificate from a given store.
2.Get X509Certificate2