ASP.NET 2.0加密Web.config 配置文件
ASP.NET 2.0 中有一个新的安全特性.可以对 Web.config 文件中的任何配置节进行加密处理,可以通过手工运行工具aspnet_regiis或者编程来完成这个工作。如果你可以直接访问你的Web 服务器,你可以通过运行如下的命令行:
cd %windows%\Microsoft.NET\Framework\versionNumber
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" ?prov RsaProtectedConfigurationProvider
-pd section
对配置节进行解密。此参数采用下面的可选参数:
? -app virtualPath 指定应该在包含路径的级别进行解密。
? -location subPath 指定要解密的子目录。
? -pkm 指定应该对 Machine.config 而非 Web.config 文件进行解密。
-pdf section webApplicationDirectory
对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行解密。
-pe section
对指定的配置节进行加密。此参数采用下面的可选修饰符:
? -prov provider 指定要使用的加密提供程序。
? -app virtualPath 指定应该在包含路径的级别进行加密。
? -location subPath 指定要加密的子目录。
? -pkm 指定应该对 Machine.config 而非 Web.config 文件进行加密。
-pef section webApplicationDirectory
对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行加密。
如果你是使用虚拟主机等不能访问物理的服务器,你仍然能够通过编程方式加密的连接字符串:
1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);
2 ConfigurationSection section = config.Sections["connectionStrings"];
3 section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");;
4 config.Update ();
使用受保护配置对连接字符串值进行加密的配置文件不以明文形式显示连接字符串,而是以加密形式存储它们