Es ist das erste Mal, dass ich die Zertifikatsauthentifizierung verwenden muss. Ein kommerzieller Partner stellt zwei Dienste bereit, einen XML-Webdienst und einen HTTP-Dienst. Ich muss auf beide mit .NET-Clients zugreifen.
Was ich versucht habe
0. Einrichten der Umgebung
Ich habe die SSLCACertificates (auf root und zwei intermediate) und das Client-Zertifikat auf meinem lokalen Rechner (win 7 professional) mit certmgr.exe installiert.
1. Für den Webservice
Hier ist der Code:
%Vor% Ausnahme bei letzter Anweisung gemeldet: The request failed with an empty response
.
2. Für die HTTP-Schnittstelle
Hier ist der Code:
%Vor% Ausnahme bei letzter Anweisung gemeldet: The request was aborted: Could not create SSL/TLS secure channel
.
3. Letzter Versuch: Verwenden Sie den Browser
Wenn ich in Chrome nach der Installation der Zertifikate versuche, auf beide URLs zuzugreifen, erhalte ich einen Fehler 107:
%Vor%Ich stecke fest.
Der folgende Abschnitt soll Ihnen helfen, das Problem zu identifizieren. Im Folgenden werden zwei Methoden zum Testen der SSL-Konnektivität beschrieben: Die eine Site wird getestet, während die andere eine Rückrufmethode ist, um zu ermitteln, warum SSL fehlgeschlagen ist. Wenn nichts anderes es Ihnen eine bessere Idee geben sollte, warum es versagt.
Wenn die Methode aufgerufen wird, wird sie mit dem Dialogfeld zum Auswählen des Zertifikats angezeigt. Wenn Sie dies wirklich tun, sollten Sie aus dem Zertifikatspeicher automatisch lesen. Der Grund dafür ist, dass wenn kein gültiges Zertifikat gefunden wird, Sie wissen, dass Ihr Problem mit der Art der Installation des Zertifikats zusammenhängt.
Am besten fügen Sie diesen Code in eine einfache Konsolen-App ein:
%Vor%Tags und Links c# authentication web-services certificate http-authentication