t; <add name="ABeenProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, processorArchitecture=MSIL" keyContainerName="ABeenKeys"/> </providers> </configProtectedData> Step 4: Encrypt the <connectionStrings> section of your web.config file 加密你的web.config文件中的配置节
> aspnet_regiis -pe "connectionStrings" -app "/connectionTest" Step 5:授予对 RSA 密钥容器的访问权限 可以通过以下代码确定应该给哪个用户权限
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name); 默认情况下,RSA 密钥容器受到所在服务器上的 NTFS 访问控制列表 (ACL) 的严密保护。这样能够限制可以访问加密密钥的人员,从而增强加密信息的安全性。必须首先向 ASP.NET 应用程序的进程标识授予对该 RSA 密钥容器的读取访问权限,然后 ASP.NET 才能使用 RSA 密钥容器。可以使用 Aspnet_regiis.exe 工具及 -pa 开关,向 ASP.NET 应用程序的标识授予读取 RSA 密钥容器的权限。例如,下面的命令向 Windows Server 2003 NETWORK SERVICE 帐户授予对名为 ABeenKeys 的计算机级 RSA 密钥容器的读取访问权限:
aspnet_regiis -pa "ABeenKeys" "NT AUTHORITY\NETWORK SERVICE" 注意: 如果 RSA 密钥容器是用户级容器,必须以其 Windows 配置文件存储了密钥的用户的身份登录,并且必须包括 -pku 选项以授予对该用户级 RSA 密钥容器的访问权限。
若要使用计算机配置中指定的默认 RsaProtectedConfigurationProvider,必须首先向应用程序的 Windows 标识授予对名为 NetFrameworkConfigurationKey 的计算机密钥容器的访问权限,该计算机密钥容器是为该默认提供程序指定的密钥容器。例如,下面的命令向 NETWORK SERVICE 帐户授予对默认 RsaProtectedConfigurationProvider 所使用的 RSA 密钥容器的访问权限。
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE" NetFrameworkConfigurationKey RSA 密钥容器是 Aspnet_regiis.exe 工具所发出的命令的默认密钥容器。因此上述命令也可以按以下方式发出:
aspnet_regiis -pa "NT AUTHORITY\NETWORK SERVICE"
代码下载http://www.cnblogs.com/Files/abeen/connectionTest.rar 注意:我发现这个方法有个缺陷,哪就是在每次加密完后,重新启动机算机发现IIS 上一页 [1] [2] [3] 下一页 |