2017-03-29 16 views
0

Entschuldigung, dass ich diese Frage gestellt habe, aber ich konnte auf Stack keine Antwort für meinen Fall finden.Client-Zertifikat: Konnte keinen sicheren Kanal für SSL/TLS mit Autorität einrichten (schon wieder!)

Ich entwickelte eine Client-Anwendung, die mit WCF eine externe SOAP API kommuniziert. Zur Authentifizierung verwendet die Anwendung ein Clientzertifikat. (Das Client-Zertifikat wurde auf dem Server installiert). Wenn ich auf meiner lokalen Maschine teste, funktioniert alles gut.

Die Probleme treten auf, wenn ich die Anwendung auf IIS (auf einem EC2) bereitstellen. Die Apps können nicht mehr mit der SOAP API kommunizieren. Dies ist der Fehler:

Ich installierte das Zertifikat im persönlichen Speicher des aktuellen Benutzers und des lokalen Computers. Wenn ich versuche, die SOAP API mit dem Browser zu treffen, funktioniert es (bekomme eine WSDL-Datei, die auch das Client-Zertifikat benötigt).

Hinweis: Das Zertifikat ist nicht selbst signiert. Es wurde von einer autorisierten Zertifizierungsstelle erstellt.

Danke für die Hilfe geändert

+0

So wie pro meine Ihre Client-Anwendung zu verstehen, ist Web-App, die das Zertifikat von den lokalen Rechner holen und an den SOAP-Dienst gestellten Antrag anbringen. ist es? –

+0

Hallo Rashmin, ja das ist es. Hast du eine Ahnung, was das Problem sein kann? – Hudvoy

+0

Ich habe die Identität des Anwendungspools von IIS zu LocalSystem geändert und die App neu gestartet. Ich denke, es war ein Erlaubnissproblem – Hudvoy

Antwort

0

Zertifikatsspeicher kann nur für Administratoren zugänglich sein. local iis user, der IUSER ist, hat keine Administratorrechte und Sie erhielten diesen Zertifikatfehler. Durch das Ändern der Identität des Anwendungspools in LocalSystem wurde das Problem gelöst, da LocalSystem auf Certificate STore zugreifen kann.

Eine andere optimale Lösung besteht darin, nur den Zugriff des Zertifikats auf IUSER zu erlauben. (Dadurch haben Sie im Gegensatz zum vollständigen Administratorzugriff auf den App-Pool einen bestimmten Zugriff erhalten).

Um das zu tun gehen Sie zu der Zertifikat Konsole -> Rechtsklick auf Zertifikat -> Alle Aufgaben -> Private Schlüssel verwalten -> Hinzufügen IUSER und klicken Sie auf OK.

enter image description here

enter image description here

0

ich die Identität des Anwendungspools von IIS auf Localsystem und die Anwendung neu gestartet. Ich denke, es war ein Genehmigungsproblem. Wenn mir jemand erklären kann, warum das Problem behoben wurde, akzeptiere ich seine Antwort.

Verwandte Themen