Ich arbeite an einer IIS6/ASP.NET-Website, die "Client-Zertifikate" in Form einer Smartcard erfordern muss (insbesondere eine Gemeinsame Zugangskarte ). Ich muss ein paar Dienste erstellen, um auf verschiedene URLs zuzugreifen, um Dinge wie die Aktualisierung von Suchindizes, das Aufwärmen von Sharepoint-Seiten und andere Aufgaben zu erledigen.
Wie kann dies geschehen, da die Website den Zugang nur mit einem Zertifikat erlaubt, das sich auf der Smartcard befindet? Ich habe versucht, das Zertifikat (.cer) zu laden und es wie folgt einzulesen:
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("https://.../someURL.html");
const string certFilename = @"my.cer";
var cert = X509Certificate2.CreateFromCertFile(certFilename);
cert.Import(certFilename, "my pin", X509KeyStorageFlags.Exportable);
request.ClientCertificates.Add(cert);
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
Aber ich erhalte eine 403 Forbidden.