我们即将使用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会出现什么问题。我基本上可以在所有服务器上执行相同的操作,并在每台机器上创建一个新的“加密连接字符串”。为什么这不起作用?
答案 0 :(得分:2)
文章指出这是优选的,但它不是授权。如果您的服务器场中有多台计算机,则可以更轻松地加密一个文件并将其部署到多个文件,而不是转到每台计算机并“触摸”它。
答案 1 :(得分:2)
它之所以不起作用,是因为您的网络域中使用的域帐户将登录到多台计算机上。
"要使DPAPI在使用漫游配置文件时正常工作,域用户只能登录到域中的单台计算机。如果用户想要登录到域中的其他计算机,则用户必须在用户登录到第二台计算机之前注销第一台计算机。如果用户同时登录到多台计算机,则DPAPI可能无法正确解密现有加密数据。"
http://support.microsoft.com/kb/309408#6
我目前正试图以某种方式解决这个问题,并且会喜欢你如何解决它的一些想法!
此致
答案 2 :(得分:0)
使用RSAProtectedConfigurationProvider
,您可以使用custom RSA Key Container
&在一台计算机上加密配置。导出这些键。然后,您可以将容器导入到部署应用程序的每个服务器。 MSDN