为什么要将RSA用于DPAPI Web场加密?

时间:2012-09-20 12:58:42

标签: security encryption dpapi

我们即将使用DPAPI加密ASP.NET Web配置文件中的连接字符串。 但我对使用RSA或DPAPI进行Web群集(服务器场)感到困惑。 以下MSDN链接清楚地表明,如果我们要在Web场上部署ASP.NET应用程序,则需要使用RSA提供程序。

http://msdn.microsoft.com/en-us/library/ms998280.aspx

http://msdn.microsoft.com/en-us/library/ms998283.aspx

但我不明白在我的Web场中的所有计算机上使用DPAPI会出现什么问题。我基本上可以在所有服务器上执行相同的操作,并在每台机器上创建一个新的“加密连接字符串”。为什么这不起作用?

3 个答案:

答案 0 :(得分:2)

文章指出这是优选的,但它不是授权。如果您的服务器场中有多台计算机,则可以更轻松地加密一个文件并将其部署到多个文件,而不是转到每台计算机并“触摸”它。

答案 1 :(得分:2)

它之所以不起作用,是因为您的网络域中使用的域帐户将登录到多台计算机上。

  

"要使DPAPI在使用漫游配置文件时正常工作,域用户只能登录到域中的单台计算机。如果用户想要登录到域中的其他计算机,则用户必须在用户登录到第二台计算机之前注销第一台计算机。如果用户同时登录到多台计算机,则DPAPI可能无法正确解密现有加密数据。"

http://support.microsoft.com/kb/309408#6

我目前正试图以某种方式解决这个问题,并且会喜欢你如何解决它的一些想法!

此致

答案 2 :(得分:0)

使用RSAProtectedConfigurationProvider,您可以使用custom RSA Key Container&在一台计算机上加密配置。导出这些键。然后,您可以将容器导入到部署应用程序的每个服务器。 MSDN