您的位置:首页 > 其它

如何对Web.Config加密与解密访问

2007-08-21 12:00 387 查看
以下演示的是使用计算机级RSA密钥容器:
一、创建和导出,导入RSA密钥容器。(在SDK命令提示行下操作),具体内容可参考:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/f3022b39-f17f-48c1-b067-025eab0ce8bc.htm
1、创建密钥容器Chang: aspnet_regiis –pc “Chang” -exp (此处创建的是计算机级密钥容器)
2、导出密钥容器Chang到ChangKeys.xml文件中(便于以后导入恢复): aspnet_regiis –px “Chang” ChangKeys.xml –pri
3、通过ChangKeys.xml文件导入密钥容器Chang: aspnet_regiis –pi “Chang” ChangKeys.xml
4、删除密钥容器Chang: aspnet_regiis -pz “Chang”
二、使用密钥容器加密和解密Web.Config, 具体内容可参考:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/eb5dee1e-f6ac-4b16-bc2c-32c1e8cd9341.htm
1、创建自定义RSA保护提供程序节。在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG下找到文件machine.config, 在其中的<configProtectedData defaultProvider="RsaProtectedConfigurationProvider">节下的<providers>中增加一行:


<add name="ChangProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" keyContainerName="Chang" useMachineContainer="true" />



2、授予对RSA密钥容器Chang的访问权限(只有授予了权限,系统才可以自动对已加密的节进行解密):
A、在Windows2000和Windows XP下: aspnet_regiis -pa “Chang” “ASPNET”
B、在Windows2003下: aspnet_regiis -pa “Chang” “NT AUTHORITY/NETWORK SERVICE”
注:如果不知道,可查看计算机中的ASP。NET组所对应的用户就是了。
3、加密Web.Config配置节: (假如要加密connectionStrings 元素, 它布署在IIS下的TestRsa虚拟目录下;注:加密节时,对于节字符串是大小写区分)
aspnet_regiis -pe “connectionStrings” -app “/TestRsa” -prov “ChangProvider”
或加密以下节: aspnet_regiis -pe "system.web/machineKey" -app "/MyApplication"
4、解密Web.Config配置节:
aspnet_regiis -pd “connectionStrings” -app “/TestRsa”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: