Je développe un utilitaire .NET (2.0) WinForms qui se connecte à une base de données SQL Server 2005. J'ai trouvé le matériel de référence, tel que Avoiding Plaintext Passwords pour manipuler le cryptage réel des données de chaîne de connexion. J'ai maintenant besoin d'implémenter le chiffrement pendant le processus d'installation afin qu'un administrateur puisse installer l'utilitaire sur le bureau d'un utilisateur, mais ne pas fournir à l'utilisateur les informations de connexion à la base de données.Les données de configuration peuvent-elles être cryptées à partir d'un processus d'installation?
L'exemple de code semble tout indiqué pour effectuer le chiffrement dans l'application primaire. L'application devrait donc être exécutée une fois pour que le cryptage ait lieu. Si l'application est installée mais pas exécutée, les informations de configuration seront en texte brut dans le fichier de configuration.
Quelqu'un peut-il fournir des informations montrant comment le chiffrement peut être effectué à partir de l'application d'installation. D'autres approches du problème sont également les bienvenues (cependant, en raison des besoins de l'entreprise, je ne suis pas en mesure d'exiger l'authentification Windows pour la connexion à la base de données - je suis limité à l'authentification SQL Server).
Editer: Je pourrais avoir été trop bref avec ma description. Nous avons déjà effectué une évaluation des risques et déterminé que l'utilisation de la fonctionnalité intégrée du framework .NET pour chiffrer les informations de connexion fournit une sécurité suffisante pour l'application.
Nous comprenons qu'un individu vraiment déterminé pourrait éventuellement obtenir les informations de connexion, et nous acceptons volontiers ce risque. Le but du cryptage des données de connexion est de simplement augmenter la barre d'effort et d'aider à "garder les gens honnêtes". Ayant déjà mis au point les moyens d'effectuer le chiffrement, j'essaie maintenant de trouver une méthode pour effectuer le chiffrement à partir du processus d'installation. Toute aide dans ce sens sera appréciée. Merci!
C'est la route que j'irai probablement. Je peux ajouter le code d'enrôlement dans l'application principale, puis demander au programme d'installation de lancer l'application avec un paramètre de ligne de commande indiquant que le cryptage doit avoir lieu. Merci. – JeremyDWill