Bonjour,
Cela fait un moment que je coince avec mon service WCF.
Je change, recommence ma configuration mais j'ai toujours des erreurs du type "Le jeu de clés n'existe pas", "Le service ... n'a pas pu être activé". Et maintenant après avoir recommencer j'en suis à l'erreur "(405) Method Not Allowed".
Il doit forcément encore y avoir un "hic" dans ma configuration. Ci-dessous la dernière configuration utilisée:
Web.config
App.config
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <system.serviceModel> <bindings> <wsHttpBinding> <binding name="myBinding" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"> <security mode="Transport"> <transport clientCredentialType="Certificate"/> </security> </binding> </wsHttpBinding> </bindings> <services> <service name="FCService" behaviorConfiguration="myBehavior"> <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/> <endpoint binding="wsHttpBinding" bindingConfiguration="myBinding" name="FCService.FCService" contract="FCService.IFCService" /> </service> </services> <behaviors> <endpointBehaviors> <behavior name="myBehavior"> <serviceMetadata httpsGetEnabled="true" httpGetEnabled="false"/> <servicesCredentials> <clientCertificate> <authentication certificateValidationMode="PeerTrust" trustedStoreLocation="LocalMachine"/> </clientCertificate> </servicesCredentials> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
Sur mon serveur j'ai mis les deux certificats "ClientCertificate" et "ServerCertificate" (ce dernier est aussi mis sur IIS et utilisé au niveau de la liaison https du site)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <system.serviceModel> <client> <endpoint address="https://192.168.10.1:4431/FCService.svc" behaviorConfiguration="myBehavior" binding="wsHttpBinding" bindingConfiguration="myBinding" contract="FCServiceSSL.IFCService" name="FCServiceSSL"> <identity> <dns value="ServerCertificate"/> </identity> </endpoint> </client> <bindings> <wsHttpBinding> <binding name="myBinding"> <security mode="Transport"> <transport clientCredentialType="Certificate"/> </security> </binding> </wsHttpBinding> </bindings> <behaviors> <endpointBehaviors> <behavior name="myBehavior"> <clientCredentials> <clientCertificate findValue="ClientCertificate" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/> <serviceCertificate> <authentication certificateValidationMode="PeerTrust"/> </serviceCertificate> </clientCredentials> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
Sur le poste client qui déclenche l'application (WPF) j'ai mis le certificat client "ClientCertificate" (dans "LocalMachine" et dossier "Personnel")
J'ai déjà essayé de trouver pas mal d'information sur le net mais je n'arrive pas à aboutir. Il y a quelque chose que je ne dois pas complètement saisir.
Merci d'avance.
Partager