IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Communication Foundation .NET Discussion :

[WCF] Erreur dans configuration (avec utilisation de certificats) ?


Sujet :

Windows Communication Foundation .NET

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Analyste programmeur
    Inscrit en
    août 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : août 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [WCF] Erreur dans configuration (avec utilisation de certificats) ?
    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
    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>
    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
    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 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)
    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.

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Analyste programmeur
    Inscrit en
    août 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : août 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Quel utilisateur dans les autorisations de la clé privée du client ?
    Finalement à force de refaire et refaire je ne bloque que sur un dernier point.

    J'ai le message "Le service n'a pas pu être activé". A la suite de pas mal de recherche j'ai trouvé qu'il s'agit d'un problème de lecture sur la clé privée. D'après mon cas, celle du client et je pense, sur le poste client.
    Comment savoir quel est l'utilisateur auquel je dois accordé le droit ? J'ai donnée le droit à un grand nombre d'utilisateur pour tester encore et encore mais ce ne doit pas être le bon... Et impossible de mettre "Tout le monde" dans les droits sur un certificat...

    Merci d'avance.

Discussions similaires

  1. Erreur dans requête avec DISTINCT
    Par SOPSOU dans le forum InterBase
    Réponses: 0
    Dernier message: 12/04/2011, 12h45
  2. Erreur dans Expect avec Win7 64bits
    Par Xiahdeh dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 12/01/2011, 09h43
  3. erreur dans un script utilisant match() et les regexp
    Par ppioul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2009, 10h51
  4. [Compiler] Erreur dans compilation avec une toolbox independante
    Par ImagingAllthe dans le forum MATLAB
    Réponses: 4
    Dernier message: 25/03/2008, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo