Zugreifen auf einen Web-Service und eine HTTP-Schnittstelle mithilfe der Zertifikatauthentifizierung

9

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

  • Ich habe das Client-Zertifikat (der).
  • Der Dienst wird über einen .NET-Proxy genutzt.

Hier ist der Code:

%Vor%

Ausnahme bei letzter Anweisung gemeldet: The request failed with an empty response .

2. Für die HTTP-Schnittstelle

  • es ist eine HTTPS-Schnittstelle, die ich über die POST-Methode aufrufen muss.
  • Die HTTPS-Anforderung wird von einem .NET-Client über HTTPWebRequest gesendet.

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.

    
Alberto De Caro 22.06.2012, 09:47
quelle

1 Antwort

5

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%     
David Martin 27.06.2012, 11:00
quelle