我试过阅读一些关于此的博客,但感到困惑。 有人可以告诉我一个他们真正尝试并成功的链接。
答案 0 :(得分:3)
您可能已经考虑过这一点,但如果没有:RSAProtectedConfigurationProvider可以使用机器级或用户级密钥进行加密。默认值为机器级别。这意味着您无法对web.config进行一次加密,并将其部署到Web场中的每台计算机上。您必须在每台计算机上加密它,因为加密和解密的密钥只存在于该计算机上。
您可以使用用户级密钥或在所有Web场计算机上共享密钥来解决此问题:
答案 1 :(得分:2)
我们使用the RSA Protected Configuration provider。那页不是轻读,但它有你需要的东西。
我推荐这样的命令(文章中的例子):
aspnet_regiis.exe -pef“connectionStrings”C:\ Projects \ MachineRSA
答案 2 :(得分:1)
在加密连接字符串之前,请考虑加密它们时要防范的内容。您的应用程序需要按顺序访问明文连接字符串,因此需要访问密钥。因此,攻击者破坏您的ASP.Net应用程序可能会窃取密钥和受保护的连接字符串。因此加密并没有带来太多好处。
不是加密,而是关注操作人员处理该文件的方式以及生产中应用的文件权限。仅允许对应用程序运行的ASP.Net工作线程池帐户进行“读取”访问。