86 votes

CryptographicException n'a pas été gérée : Le système ne trouve pas le fichier spécifié

J'essaie de comprendre les mystères de la communication SSL et j'ai trouvé un excellent tutoriel sur ce site . J'ai essayé de tester mon propre certificat. En utilisant Visual Studio 2012, j'ai simplement ajouté un fichier existant (mon certificat au format .pfx) et j'ai ensuite modifié les paramètres "certificate" et "password" dans app.config. Cependant, lorsque j'ai essayé de l'exécuter, j'ai obtenu une erreur :

CryptographicException n'a pas été gérée : Le système ne peut pas trouver le fichier spécifié

Ensuite, j'ai essayé la même chose dans mon service Web. J'ai obtenu plus de détails sur l'erreur :

System.Security.Cryptography.CryptographicException: System cannot find specified file.

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
   v System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password)
   v TestServer.DataService.LoadSoap() v c:\Users\Administrator\Documents\Visual Studio 2012\Projects\TestServer\TestServer\DataService.asmx.cs:line 48

J'ai posé cette question à l'auteur de l'article, mais comme sa dernière réponse date de mars 2012, je ne suis pas sûr qu'il y réponde. Si quelqu'un pouvait m'aider à résoudre ce problème, je lui en serais très reconnaissant.

P.S. : Lors de l'exportation du certificat de .cer vers .pfx, j'ai modifié le titre du fichier exporté. Bien que je doute de son effet sur le problème, je préfère le mentionner.

0voto

schmiddy98 Points 51

Pour ceux qui essaient d'accéder au certificat à partir du magasin de certificats de Windows (Certificats (Ordinateur local)), assurez-vous de donner à l'utilisateur du pool d'applications l'accès à la clé privée du certificat en utilisant Action -> Toutes les tâches -> Gérer les clés privées... C'est parce que je n'ai pas fait cela que j'ai obtenu cette erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X