Question

Scénario:

  • Un client appelle WebService A sur le réseau local. Le service Web A est exécuté sous un pool d'applications avec l'identité "Service réseau".
  • WebService A effectue certains travaux et se prépare à appeler WebService B.
  • WebService B nécessite un certificat client (* .cer) et SSL.
  • WebService A est sur un serveur Windows 2003 dédié.
  • Tout fonctionne normalement dans l'environnement de développement (mais le développeur disposant des privilèges d'administrateur est toujours connecté localement (sans surprise!).
  • Les certificats sont stockés sur le disque sous C: \ MyCertificates \
  • Le certificat est correctement appliqué au moment de l'exécution dans Dev avec le fragment suivant: myWebService.ClientCertificates.Add (nouveau X509Certificate.CreateFromCertFile (certPath));

Problème: Le service Web A appelle le service Web B et l'exception renvoyée est:

  

La requête a échoué avec le statut HTTP   403: Interdit

Cela signifie vraiment que le certificat n'a pas été envoyé dans la requête au WebService B.

Je suppose que l'installation de ce certificat dans le navigateur n'est pas une solution. Les paramètres du navigateur sont généralement définis par utilisateur et je dois donner le certificat à l'utilisateur pour lequel les informations d'identification sont exécutées par le service Web. (par exemple, Service réseau, Système ou tout ce qui se trouve dans les paramètres IIS AppPool).

Question: Comment puis-je accorder au service réseau ou à un autre compte non utilisateur un accès ou une association à mon certificat résidant à l'emplacement de répertoire spécifié?

Était-ce utile?

La solution

Cet article de la base de connaissances Microsoft peut être utile:

  

Comment appeler un service Web en utilisant un certificat client pour l'authentification dans une application Web ASP.NET ( MS KB901183)

Votre service Web 'A' serait effectivement l'application ASP.NET appelant le service Web, comme décrit dans l'article.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top