在应用程序中保存私钥

时间:2013-11-28 20:28:50

标签: c# .net encryption configuration rsa

我想为我的应用程序创建自定义配置,而不是使用app.config。

因此,例如,我想制作一些存储配置本身的ini文件,并希望对其进行加密。所以我想加密将在此文件中的连接字符串,密码等。

我想使用RSACryptoServiceProvider。所以我将使用公钥创建配置文件,我的应用程序将使用私钥解密。我需要以某种方式将这个私钥存储在应用程序中。

我可以把它作为const字符串值,但是当你对应用程序进行反向工程时很容易看到它。

那么,在我的应用程序中存储私钥的最佳方法是什么?

RsaProtectedConfigurationProvider是如何做到的?

1 个答案:

答案 0 :(得分:0)

您可以使用Data Protection API,该API旨在用于此类用途。它在Windows中存储每用户机密。

密钥不易检索,但请记住,此解决方案依赖于Windows安全性。您已存储密钥的用户将能够轻松地再次检索它(但其他用户不能)。

http://en.wikipedia.org/wiki/Data_Protection_API

要从.NET使用它,请从ProtectedData Class

的文档开始