WCF-Fehler: "Das X.509-Zertifikat CN = Localhost-Kettenbildung ist fehlgeschlagen ..."
Bin ich immer diese Fehlermeldung beim Versuch, meine WCF-client und-server miteinander zu reden.
Den X. 509-Zertifikat CN=localhost Kette Gebäudes gescheitert. Die
Zertifikat, das verwendet wurde, hat eine Vertrauenskette, die nicht verifiziert werden können.
Das Zertifikat ersetzen oder ändern Sie die certificateValidationMode. Ein
Zertifikatkette wurde zwar verarbeitet, aber beendet in einem root-Zertifikat
die, die nicht vertrauenswürdig sind, durch die das Vertrauen.
Alles perfekt funktioniert, wenn ich schalten Sie die SSL-Zertifikate aus.
InformationsquelleAutor der Frage Contango | 2010-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein problem mit Ihrem Zertifikat (ich nehme an, Sie verwenden self-signed cert) WCF versucht zu überprüfen, alle die Kette der Aussteller und erwartet, dass endlich die Kette würde am Ende auf root vertrauenswürdigen Zertifizierungsstelle. Deaktivieren Sie dieses Kontrollkästchen fügen Sie eine solche Zeile app.config branch. Aber diese "Krücke" sollte nicht in der Produktion verwendet werden
serviceBehaviors/behavior/serviceCredentials/clientCertificate
InformationsquelleAutor der Antwort The Smallest
Habe das problem behoben durch ausschalten der Validierung in meinem code wie folgt:
Wo
client
ist eine Instanz des service-Referenz.InformationsquelleAutor der Antwort Zane
Die richtige Sache zu tun ist, um die Einrichtung eigener Dev/Test Vertrauenswürdigen Root-Zertifikat und melden Sie Ihr client-und service-Zertifikate mit diesem.
Umgehen Kette Vertrauen in Ihre Dev - /Test-Umgebung kann "arbeiten", aber Ihre Dev - /Test-Umgebung ist jetzt anders konfiguriert, um Produktion, das ist keine gute Idee, wie Sie finden können einige tests falsch-positive oder falsch-negative Befunde.
InformationsquelleAutor der Antwort saille
Hatte ich einige Schwierigkeiten mit diesem gleichen Problem. Ich war mit dem CustomToken-VS2010-sample aus dem SDK WIF.
Die Probe nicht über eine app.config und ich spürte, dass das wissen, wie der code funktioniert, ist nützlich, wie auch immer, ich verbrachte einige Zeit untersucht. Ich glaube, ich sollte zeigen meine Ergebnisse hier. Ich hoffe, dass diese inforamation ist hilfreich.
Ich hatte das gleiche Problem. Das problem, das ich hatte, war, "wo setze ich diesen Modus?" Ich hatte eine schwierige Zeit der Suche nach dem Objekt, hatte diese Eigenschaft zu setzen, das war eigentlich das richtige Objekt. Ich fand es schließlich als Teil der ChannelFactory:
So, die Stelle zu setzen, ist in der ChannelFactory-Objekt.
Ausführen von Visual Studio 2010 als lokaler administrator an, ich war in der Lage, die Probe zu erhalten, um zu arbeiten (nachdem ich auch die batch-Datei auszuführen, die mit allen Proben um das Zertifikat zu erstellen, etc.)
Wieder, dies ist nicht etwas, was Sie tun würde, in einer Produktionsumgebungaber zu wissen, wie die service-Zertifikat-Authentifizierung-Modus ist wahrscheinlich eine ziemlich gute Sache, zu wissen insgesamt.
InformationsquelleAutor der Antwort Dan7el
Hinzufügen Endpunkt Verhalten in Ihrer client-Anwendung(e.g:App.config), und legen Sie das Verhalten der Konfiguration, die Sie Hinzugefügt, die im Endpunkt.
InformationsquelleAutor der Antwort eswara amirthan s
Beim deaktivieren der revocationMode geholfen hat, dann wahrscheinlich sind Sie fehlt ein client revocation list für Ihre root-CA.
Diese auch importiert werden muss, um die trusted root certification authorities. Siehe auch meine Antwort hier.
InformationsquelleAutor der Antwort toATwork
(Dachte, ich würde teilen, dies gerade im Fall spart es jemand da draußen einige Zeit), ich lief in dieses Problem, während der Ausführung einer web-Anwendung auf WIF. Ich reparierte mein problem, indem Sie eine Kopie von x ist.509 Zertifikat ich arbeite mit der von "Zertifikate/personal/Zertifikate" Ordner "Vertrauenswürdige Stammzertifizierungsstellen/Zertifikate" - Ordner innerhalb des zertifikatspeichers. Sie können dies tun, durch ausführen der microsoft management console
InformationsquelleAutor der Antwort Aseiu P
Folgenden Aseiu ' s Kommentar oben, ich fand, dass genau die gleichen oben genannten Fehler wird ausgegeben, wenn das cert nicht in der vertrauenswürdigen Informationsspeicher auf dem server. Bei der recherche zu dem Thema, ich fand auch, dass durch einen Blick in die Ereignisanzeige unter Windows-Protokolle/Anwendung enthält einen Fehler, der details zu dem Zertifikat, dass es da ein problem mit. Sie können auch eine Korrelation zwischen den Aktivitäts-log mit den Einträgen in der SVC-Protokoll für den service.
InformationsquelleAutor der Antwort Joe Mierwa