Verbinden mit einem mit SSL arbeitenden WCF-Dienst über Windows Phone 7 Emulator
Veröffentlichung des Originalartikels: 19.06.2011
Ich habe zuletzt (mit echt viel Spaß-:) versucht herauszufinden, warum ich meine Windows Phone 7-Anwendung nicht mit meinem WCF-Endpunkt verbinden konnte. Ich hatte die Konfiguration sorgfältig mit einer standardmäßigen Winforms-Clientanwendung getestet, und alles funktionierte großartig. Doch immer wenn ich denselben Endpunkt über meinen WP7-Emulator ansteuerte, erhielt ich die nervende Fehlermeldung "kein lauschender Endpunkt vorhanden", und die Untersuchung der inneren Ausnahme ergab, dass es sich um etwas wie eine Antwort vom Typ "404 - nicht gefunden" handelte. Was freilich völliger Blödsinn ist, da der Endpunkt vorhanden war. Beim Beheben dieser Problematik lernte ich zwei Dinge:
- Der Fehler bedeutet im Wesentlichen, dass der Telefonemulator nicht die Stammzertifizierungsstelle für die SSL-Zertifikate in seiner Liste vertrauenswürdiger Zertifikate enthielt. Doch leider gibt es auch bei WP7 1.1 (d. h. Mango SDK) keine einfache Möglichkeit, hierfür zu sorgen. Erforderlich ist, dass die CER-Datei der Stammzertifizierungsstelle in einer ZIP-Datei abgelegt werden muss, die anschließend auf eine Website hochgeladen wird, von der sie heruntergeladen werden kann. Dabei kann es sich um einen lokalen Entwicklungsserver handeln. Sie können sie aber auch über beispielsweise Hotmail o. ä. per E-Mail an sich selbst schicken. Navigieren Sie im Emulator zu dieser Datei, der sie anschließend herunterlädt und den Inhalt der ZIP-Datei anzeigt. Wenn Sie auf die CER-Datei klicken, können Sie die Datei installieren lassen. Wenn Sie dieses Angebot annehmen, wird sie in der Liste vertrauenswürdiger Zertifizierungsstellen abgelegt, sodass eigentlich (aber nur eigentlich-:) der nächste Schritt erfolgen könnte...
- Die unter Nr. 1 beschriebenen Schritte funktionieren solange ausgezeichnet, bis Sie den Emulator beenden und neu starten. Sein Status kann anscheinend nicht dauerhaft gespeichert werden, sodass Sie nach jedem Beenden (entweder manuell und/oder durch Trennen von Visual Studio) Schritt 1 von vorn wiederholen müssen. Und zwar jedes Mal, was echt nervt. Ich weiß nicht, ob schon eine Korrektur vorgesehen ist, doch bis dahin heißt es: abwarten und Tee trinken.
Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter Connecting to an SSL WCF Service with Windows Phone 7 Emulator