IIS 配置节的加密和解密

可以使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 加密或解密 Web 配置文件的各节。在处理 Web.config 文件时,ASP.NET 将自动解密已加密的配置元素。

下面是详细的操作步骤:

aspnet_regiis.exe 在 /WINDOWS/Microsoft.Net/Framework/v2.0.* 目录下。

1、创建 RSA 密钥容器

aspnet_regiis -pc "密钥容器名称" -exp

2、导出 RSA 密钥容器

aspnet_regiis -px "密钥容器名称" keys.xml -pri

3、导入 RSA 密钥容器

aspnet_regiis -pi "密钥容器名称" keys.xml

4、删除 RSA 密钥容器(该步骤可以忽略),卸载 .NET Framework 时不会删除 RSA 密钥容器,需要手工删除。

aspnet_regiis -pz "密钥容器名称"

5、授予对 RSA 密钥容器的访问权限

可以先用下面的 identity.aspx 页面查看 ASP.NET 应用程序的标识。

<%@ Page Language="C#" %>

<%
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
%>
应用程序的标识一般有下面这些:“NT AUTHORITY/NETWORK SERVICE”、“NT AUTHORITY/SYSTEM”、“IUSR_XXX”或者“DOMAIN/userid”等。
aspnet_regiis -pa "密钥容器名称" "应用程序的标识"

6、指定受保护的配置提供程序,修改 Web.config 文件,添加 节,如下


  
    
      
    
  

7、加密 Web 配置节

其中的“节名称”可以是任意配置节,例如:连接字符串节“connectionStrings”。其中的“应用程序名称”即虚拟目录,如果是网站根目录则为“/”。

aspnet_regiis -pe "节名称" -site "网站名称" -app "/应用程序名称" -prov "保护提供程序名称"
或者直接指定需要加密的配置文件。
aspnet_regiis -pef "节名称" "配置文件物理路径" -prov "保护提供程序名称"

8、解密 Web 配置节(该步骤可以忽略),应用程序内部能够自动进行解密,无需特别处理,这里的解密只是为了还原原来的配置文件,方便查阅原来的配置或进行修改。

aspnet_regiis -pd "节名称" -site "网站名称" -app "/应用程序名称"
或者直接指定需要解密的配置文件。
aspnet_regiis -pdf "节名称" "配置文件物理路径"

参考链接:

1、加密和解密配置节

2、导入和导出受保护的配置 RSA 密钥容器

3、演练:使用受保护的配置加密配置信息

4、演练:创建和导出 RSA 密钥容器

你可能感兴趣的:(架构)