提供从多台服务器上的一个加密文件创建、导出和导入加密密钥对已加密的 Web.config 文件的节进行解密的逐步骤示例。
由于您可以对存储在配置文件中的敏感信息进行加密,“受保护配置”有助于提高应用程序的安全性。在 .NET Framework 处理配置文件时,它会自动解密该文件,而且解密时不需要任何其他代码。可以使用 aspnet_regiis.exe 对配置文件的节进行加密并管理加密密钥。有关受保护的配置的更多信息,请参见使用受保护的配置加密配置信息。
“受保护配置”使您能够创建、删除、导出和导入自定义的加密密钥以用于 RsaProtectedConfigurationProvider 提供程序。您可以创建加密密钥的备份副本或将加密密钥复制到多台 Web 服务器(如网络场),这样即可将包含已加密 Web.config 文件的应用程序复制到多个位置。
通过此演练,您将学会如何执行以下任务:
-
创建自定义的 RSA 密钥容器。
-
指定使用自定义 RSA 密钥容器的“受保护配置”提供程序。
-
使用自定义 RSA 密钥容器对 Web.config 文件的节进行加密。
-
将自定义的 RSA 密钥容器导出到 XML 文件。
-
从 XML 文件导入自定义的 RSA 密钥容器。
为了完成本演练,您需要:
-
在将要承载该站点的计算机上安装并配置 Microsoft Internet 信息服务 (IIS)。
有关如何安装和配置 IIS 的详细信息,请参见 IIS 安装随附的联机帮助或转到 “Internet Information Services (IIS) 6.0 Technical Resources”(Internet 信息服务 (IIS) 6.0 技术资源)。
-
ASP.NET 网站。
如果您有网站,则可以在本演练中使用该网站。否则,有关如何创建虚拟目录或网站的详细信息,请参见如何:在 IIS 中创建和配置虚拟目录。
在本演练的这一部分中,您将通过使用带有 -pc 选项的 aspnet_regiis.exe 来创建 RSA 密钥容器。这将把 RSA 密钥容器标识为用户级别的密钥容器。必须将 RSA 密钥容器标识为用户级别(使用-pku 选项)或计算机级别(不使用 -pku 选项)。有关计算机级别和用户级别的 RSA 密钥容器的更多信息,请参见了解计算机级别和用户级别的 RSA 密钥容器。
创建计算机级的 RSA 密钥容器
-
打开命令提示。
-
为此,在 Microsoft Windows 中单击“开始”,再单击“运行”,在“打开”框中键入“cmd”,然后单击“确定”。
-
-
在命令提示处,通过键入以下命令将目录更改为 .NET Framework 2.0 版目录:
“cd \WINDOWS\Microsoft.Net\Framework\v2.0.*”
-
通过运行带有下列选项的 aspnet_regiis.exe 来创建计算机级别的新 RSA 密钥容器:
-
-pc 选项后跟 RSA 密钥容器的名称,用于创建 RSA 密钥对。
-
-exp 选项,用于确保密钥是可导出的。
下面的命令将创建 "MyKeys" 密钥容器。
aspnet_regiis -pc "MyKeys" -exp
请勿关闭“命令提示”窗口。
-