Bonjour à vous
[Hors Sujet]J'ai mis un titre un peu fantaisiste car je ne vois pas comment intituler mon problème[/Hors Sujet]
Le contexte
- J'ai une application Silverlight qui doit communiquer avec un service WCF via une liaison sécurisée. Silverlight étant assez limité au niveau des types de communications WCF, je dois utiliser du HTTP over SSL (HTTPS donc).
- J'ai un service WCF Self-hosted, a priori correctement configuré, qui propose deux points d'écoutes : Le premier est lié au service à proprement parlé et le second est un point d'écoute de type REST pour pouvoir diffuser le clientaccesspolicy.xml.
- Tout ce petit monde est installé sur un server 2008 R2 de test avec IIS. Dans IIS, il n'y a aucun site web (pour le moment) et sa configuration reste par défaut.
- Les ports requis sont correctement forwardés dans le routeur et sont aussi débloqués dans le firewall du serveur de test.
- J'ai généré un certificat racine et un certificat dont le CN est égal au domaine utilisé pour se connecter au service. Le certificat racine à été placé dans le magasin des certificat d'authorité racine de confiance et l'autre, dans le magasin personnel de l'utilisateur en cours et dans le magasin personnel de la machine (dès fois que)
Le problème
- Si je lance le service WCF et l'application silverlight tels quels, ça ne fonctionne pas. Silverlight génère une exception comme quoi il n'arrive pas à charger le fichier clientaccesspolicy.xml. Si je place un point d'arrêt dans la méthode de service retournant le fichier clientaccesspolicy.xml, celle-ci n'est effectivement pas appelée.
- Si je lance le service WCF, que j'ajoute sur le site créé par défaut dans IIS (qui est toujours vide, je vous le rappèle), le binding HTTPS suivit du port utilisé et que je lance l'application silverlight, tout fonctionne correctement...
La question qui tue
Quelqu'un pourrait-il m'expliquer le lien entre mon application de service self-hosted sur HTTPS et IIS???!?!?
Je soupçonne un problème de certificat...Mais pourquoi le fait de l'utiliser dans IIS (lors de l'ajout du binding HTTPS) permet à une application qui n'en dépend pas, de déchiffrer correctement les communications?!??!?
Partager