和DPAPIProtectedConfigurationProvider来加密,本文说明使用RSAProtectedConfigurationProvidert和计算机级别的密钥容器进行加密的步骤。
1. 首先确定要进行加密的web.config中的配置节是否可以加密
2. 创建RSA5.
Step 3: Modify web.config to identify the key container
>
使用名为 ABeenKeys 的计算机级 RSA 密钥容器的 saProtectedConfigurationProvider。
<
configProtectedData
>
<
providers
>
<
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
可以通过以下代码确定应该给哪个用户权限 默认情况下,RSA 密钥容器受到所在服务器上的 NTFS 访问控制列表 (ACL) 的严密保护。这样能够限制可以访问加密密钥的人员,从而增强加密信息的安全性。必须首先向 ASP.NET 应用程序的进程标识授予对该 RSA 密钥容器的读取访问权限,然后 ASP.NET 才能使用 RSA 密钥容器。可以使用 Aspnet_regiis.exe 工具及 -pa 开关,向 ASP.NET 应用程序的标识授予读取 RSA 密钥容器的权限。例如,下面的命令向 Windows Server 2003 NETWORK SERVICE 帐户授予对名为 ABeenKeys 的计算机级 RSA 密钥容器的读取访问权限:
NetFrameworkConfigurationKey RSA 密钥容器是 Aspnet_regiis.exe 工具所发出的命令的默认密钥容器。因此上述命令也可以按以下方式发出:
Step 5:授予对 RSA 密钥容器的访问权限
aspnet_regiis -pa 'ABeenKeys' 'NT AUTHORITY/NETWORK SERVICE'
aspnet_regiis -pa 'NT AUTHORITY/NETWORK SERVICE'