J'ai un service Web protégé en demandant à l'application tierce consommatrice de transmettre un certificat client. J'ai installé le certificat sur le service web fournissant en production et sur le client aussi bien. Ce processus fonctionne actuellement très bien pour les autres clients avec une configuration similaire. La version actuelle est écrite en .NET 3.5 et fonctionne parfaitement sur ma machine de développement sous cassini (et en fonctionnement autonome), mais refuse de travailler sur ma machine de production avec le même code et la même configuration de certificat. J'ai confirmé que le service Web du fournisseur accepte le certificat installé sur le client via le navigateur, mais lorsque le CERT est ajouté à un appel de service Web par programmation, j'obtiens un 403, l'accès est refusé. Je produis l'empreinte digitale du certificat ajouté à l'appel avant de faire la demande au webservice protégé, et c'est en effet le bon certificat attaché. Je pense que quelque part le long de la ligne, il n'a pas accès à la partie clé privée du certificat.La transmission d'un certificat client ne fonctionne que sur ma machine
Des idées?
Remarque: J'ai accordé l'accès au processus IIS aux répertoires ~/crypto pertinents.
Ceci est C# et .NET 3.5
Cet article est également utile pour diagnostiquer le problème dans un nouvel environnement: http://support.microsoft.com/kb/901183 –
winhttpcertcfg.exe est essentiel pour un diagnostic correct. –