通过创建自己的RSA密钥来保护web.config
1创建RSA密钥:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -pc "Mykeys" -exp
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在创建 RSA 密钥容器...
成功!
2导出密钥:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -px "Mykeys" "d:\Mykeys.xml" -pri
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在将 RSA 密钥导出到文件...
成功!
3授予对 RSA 密钥容器的访问权限
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -pa "Mykeys" "NT AUTHORITY\NETWORK SERVICE"
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在添加用于访问 RSA 密钥容器的 ACL...
成功!
3.修改web.config
添加:
<configProtectedData>
<providers>
<add name="Mykeys"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
keyContainerName="Mykeys"
useMachineContainer="true" />
</providers>
</configProtectedData>
4.加密web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis.exe -pef "connectionStrings" "D:\aspnet\WebSite62" -prov "Mykeys"
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在加密配置节...
成功!
5.解密web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis.exe -pdf "connectionStrings" "D:\aspnet\WebSite62"
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在解密配置节...
成功!
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
6.删除 RSA 密钥容器
若要删除 RSA 密钥容器,可以使用 Aspnet_regiis.exe 工具和 –pz 开关。在删除 RSA 密钥容器之前,请确保已经将密钥导出到 XML 文件中以便能够在以后导入,或者确保不需要解密任
何用 RSA 密钥容器加密的信息。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -pz "Mykeys"
7.导入
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -pi "MyKeys" "d:\Mykeys.xml"
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
正在从文件导入 RSA 密钥...
成功!
8.新电脑:
先导入指定Mykeys.xml,授权
8A:将第一台电脑上加密形成的web.config复制到指定位置
8B:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
aspnet_regiis -pi "MyKeys" "d:\Mykeys.xml"
8C:
aspnet_regiis -pa "Mykeys" "NT AUTHORITY\NETWORK SERVICE"
新电脑即可使用加密后的web.config