2009-08-16 1 views
1

Ich muss eine Verbindung zu einer XMLRPC-Site über eine Webanwendung herstellen, die ein X.509-Zertifikat für die Authentifizierung verwendet. Hier auf meinem Entwicklungscomputer (Vista) habe ich die Schlüssel unter meinem Benutzer und in meinem persönlichen Zertifikatsspeicher installiert. wenn ich meinen Code ausführen, es funktioniert gut (den Schlüssel aus einer Datei laden):IIS7 & X.509-Zertifikate: Verbindung von asp.net zu einem Web-Service - wo Zertifikate zu speichern?

X509Certificate clientcert = new X509Certificate(this.certFile, this.password); 
request.ClientCertificates.Add(clientcert); 

Aber ich brauche diese Anwendung auf einem Windows 2008 Web Server zu installieren, und ich konnte nicht herausfinden, wie es zu machen, Verwenden Sie diese Zertifikatsdatei.

Ich dachte, ich muss alle entsprechenden "Eltern" Schlüssel importieren, also tat ich. Ich habe versucht, alle von ihnen in den Speicher vertrauenswürdiger Stammzertifikate zu importieren, aber kein Glück: es sagt immer noch, es ist nicht OK.

Sollte ich ein imitiertes Konto verwenden und alle Zertifikate haben? Sollte IIS7 irgendwie konfiguriert sein, um mit diesem Benutzer/Cert-Store zu arbeiten?

Antwort

0

Die einzige Lösung war

1) Importieren des Wurzelschlüssels in LOCAL_MACHINE \ Root-Zertifikaten store

2) Importieren des Stammschlüssels in (Benutzer) \ Root-Zertifikate store

3) im asp.net-Code, verwenden Sie Identitätswechsel wie:

<identity impersonate="true" userName="(your user)" password="(your password)" />

Aus irgendeinem Grund jedoch IIS7 die alle p rocesses werden unter dem Benutzer NT_AUTHORITY \ NETWORK ausgeführt, das Installieren des Zertifikats in dem Speicher des NETWORK-Benutzers hat keinerlei Verwendung.

0

Ich glaube, es gibt zwei Zertifikatsspeicher, auf die IIS zugreifen kann: den Computerspeicher und seinen Dienstspeicher. Öffnen Sie in mmc.exe das Zertifikat snapin und stellen Sie eine Verbindung zum Speicher des lokalen Computers her. In Personal \ Certificates sollten Sie das Serverzertifikat finden. Versuchen Sie, das Zertifikat und den privaten Schlüssel daneben zu platzieren. Stellen Sie alternativ eine Verbindung mit dem Dienstspeicher (World Wide Web Publishing Service) her, und legen Sie das Zertifikat dort in Personal ab.

+0

danke, ich habe es versucht - aber kein glück noch :( – balint

Verwandte Themen