扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:开发者在线 2007年7月24日
关键字:
ASP.NET IIS注册工具
ASP.NET IIS注册工具(aspnet_regiis.exe)是.NET Framework框架的一个标准组成部分。它允许您更新一个ASP.NET应用程序的脚本映射,使其指向与工具相关的ASP.NET ISAPI版本,因为一个系统中可能存在几个ASP.NET版本。您还可以用这个工具来显示所有已安装ASP.NET版本的状况,注册与工具关联的ASP.NET版本,创建客户-脚本目录,并执行其它配置操作。
这个工具包含大量的命令行选项,包括加密(pef)和解密(pdf)。您可以使用/?选项获得帮助。加密选项利用DPAPI加密数据。下面我将以列表A中的web.config文件为例进行说明:
列表A
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="site" value="TechRepublic.com" />
</appSettings>
<connectionStrings>
<add name="db" connectionString="connection details" />
</connectionStrings>
<system.web>
<compilation debug="true"/>
<authentication mode="Windows"/>
<authorization>
<allow users="tester"/>
</authorization>
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
</system.web>
</configuration>
有了这个文件,我就可以用下面的命令行加密配置文件connectionStrings部分的内容:
aspnet_regiis -pef "connectionStrings" "c:\inetpub\wwwroot\trconfig"
上面命令的结构非常简单,如下表所述:
完成后,您将收到一段成功或失败信息。例如,列表B中包含connectionStrings部分被加密的web.config文件。(如果您希望复制并粘贴代码,这里是列表B的链接。)
<?xml version=”1.0″?>
<configuration xmlns=”http://schemas.microsoft.com/.NetConfiguration/v2.0″>
<appSettings>
<add key=”site” value=”TechRepublic.com” />
</appSettings>
<connectionStrings configProtectionProvider=”RsaProtectedConfigurationProvider”>
<EncryptedData Type=http://www.w3.org/2001/04/xmlenc#Element
xmlns=”http://www.w3.org/2001/04/xmlenc#”>
<EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#tripledes-cbc” />
<KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<EncryptedKey xmlns=”http://www.w3.org/2001/04/xmlenc#”>
<EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#rsa-1_5″ />
<KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>hlcvZ+8tPctwMZ5L68zsjWR5uySk5iqbGN6vNa94xrvdAEg2hIo1cexVOITMnVHdBfU7rXWoo3X5KfB3JhrBQQZdFXtAGqR7J3I4GUm6JDu7wWgM5Npb0Vyh+l6FwwEQYj7GfulTO+I3rWLkG7E44Sqzv75VG9QIU7oBH0d+jXo=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>oEe1fu5aiY0AtsgovXG7TVdxSZw8FU1w18LhdSmL5pptKtOnSYIZ6gVzm9B5/n4t5PWsn7BqGmd535JPe4G+TAqIyiniYQEKLXW3YVHRJX19vlwIIn6y3nyyy8gHE2kHC3LBvkqAtE7sbRlVxGSxpA==</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
<system.web>
<compilation debug=”true” defaultLanguage=”c#” />
<authentication mode=”None” />
<authorization>
<allow users=”tester”/>
</authorization>
<customErrors mode=”RemoteOnly” defaultRedirect=”GenericErrorPage.htm”>
<error statusCode=”403″ redirect=”NoAccess.htm”/>
<error statusCode=”404″ redirect=”FileNotFound.htm”/>
</customErrors>
</system.web>
</configuration>
文件的其它部分没有变化,但您也可以选择加密其它部分。例如,您可以加密实例文件中的appSettings部分,屏蔽它的数据,以免别人窥视。
如果您使用一个加密文件,您就需要对它进行解密,用命令行可以方便地进行解密。下面的命令行将前面web.config文件的connectionStrings部分应用的加密过程进行解密。
aspnet_regiis -pdf "connectionStrings" "c:\inetpub\wwwroot\trconfig"
这个命令将加密文件返回到明文版本,因此您可以对其进行修改,并在编辑完成后重新加密。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者