J'ai la situation suivante:Comment créer une clé RSA dans la machine à utiliser dans RSACryptoServiceProvider?
Plusieurs applications dans différentes machines vont partager une information stockée dans une base de données avec cryptographie RSA. Aujourd'hui, je le fais d'une certaine manière, ce n'est pas la façon la plus sûre de le faire. Ces machines partagent une DLL contenant la clé RSA dans un fichier XML.
Comment pourrais-je utiliser les informations de ce XML pour générer des clés de machine dans les différentes machines et après, comment les utiliser dans RSACryptoServiceProvider?
Salut Dave, mon problème est vraiment comment pourrais-je le faire, je ne connais pas un code ou un outil qui peut générer une clé machine à partir d'un xml ou quelque chose. J'ai besoin de garder cette "clé principale" pour générer cette clé de machine à d'autres machines. –
La classe ProtectedData prend soin de cela pour vous. Il utilise DPAPI (intégré dans Windows) pour générer une clé spécifique à l'ordinateur (ou spécifique à l'utilisateur) pour le chiffrement. Cette clé est différente sur chaque machine, ce qui explique pourquoi vous devez exécuter le registre '.Protect'/sur chaque machine. Une fois cela fait, vous pouvez supprimer dans le fichier XML. (Stocker la clé RSA réelle dans KeePass ou quelque chose de sorte que vous puissiez y référer plus tard si vous en avez besoin.) De cette façon, il n'y a absolument aucune clé "texte brut" et votre sécurité est basée sur les standards Windows ACL) –
Désolé, je ne vais pas pouvoir y arriver maintenant. Mais http://blog.shutupandcode.net/?p=538 a la première partie; J'ajouterais seulement les données ProtectedData ci-dessus sur la clé privée XML afin que votre clé privée ne puisse pas être facilement compromise. –