文章编号 : 329290
最后修改 : 2006年4月10日
修订 : 8.0
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 注册表说明
本页
概要

简介

重新启动 IIS 

更多信息

下载和运行 Aspnet_setreg.exe 
在配置文件中使用加密的属性 
使用 Regedt32.exe 在这些注册表项中为 ASP.NET 帐户授予权限 

参考 

概要

本文分步介绍如何使用 Aspnet_setreg.exe 实用工具加密凭据和会话状态连接字符串。如果您想完成下列任一操作,Microsoft ASP.NET 版本 1.0 都会要求您将纯文本凭据存储在配置文件中:

更改 ASP.NET 工作进程标识。
指定一个模拟标识。
指定一个用于会话状态的连接字符串。

当您应用 Microsoft 知识库文章 329250(见“参考”)中介绍的修补程序时,您可以使用存储在注册表中的加密数据而不是使用下列配置节中的纯文本内容:

<identity userName= password= />
<processModel userName= password= />
<sessionState stateConnectionString= sqlConnectionString= />
回到顶端

简介

使用 Aspnet_setreg.exe 实用工具将这些属性值加密并存储到注册表中一个安全的项下。使用带 CRYPTPROTECT_LOCAL_MACHINE 标志的 CryptProtectData 函数加密凭据。由于任何人只要具有访问此计算机的权限就可以调用 CryptUnprotectData,因此,加密的数据被存储在一个安全的、具有严格自由访问控制列表 (DACL) 的注册表项下面。当 ASP.NET 分析配置文件时,它将读取此安全的注册表项,然后使用 CryptUnprotectData 来解密数据。

在 System 标识下运行的 Inetinfo.exe 读取 <processModel /> 部分。要读取存储 ASP.NET 辅助进程用户名和密码的注册表项,System 帐户必须具有对这些项的“读取”权限。

ASP.NET 辅助进程 (Aspnet_wp.exe) 读取 <identity /> 和 <sessionState /> 部分。要读取这些注册表项,辅助进程帐户必须具有对这些项的“读取”权限。如果内容存放在“通用命名约定”(UNC) 共享上,则用于访问 UNC 共享的帐户必须具有对这些项的读取权限。

默认情况下,Aspnet_setreg.exe 创建的注册表项向 System、Administrator 和 Creator Owner 帐户授予完全控制权。您可以使用 Regedt32.exe 修改注册表项上的 DACL。应确保任意用户不能读取注册表项。

重新启动 IIS

要使您所做的更改生效,必须重新启动 Microsoft Internet 信息服务 (IIS)。重新启动 IIS 时,会启动一个新的 ASP.NET 工作进程。要重新启动 IIS,请单击“开始”,单击“运行”,在“打开”框中键入 iisreset,然后单击“确定”。

注意:如果重新配置的服务器是域控制器,则可能必须重新启动该服务器。

回到顶端

更多信息

下载和运行 Aspnet_setreg.exe

可以从 Microsoft 下载中心下载以下文件:

立即下载 Aspnet_setreq.exe 程序包。 (http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe)
发布日期:2003 年 4 月 11 日

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

119591 (http://support.microsoft.com/kb/119591/) 如何从联机服务获取 Microsoft 支持文件 

Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

要显示所有可用的命令行参数及其用法,请在命令提示符下不使用任何命令行参数运行此工具。如果已将此工具保存在 C:/Tools/ 中,请从命令提示符处运行以下命令,以显示该工具的所有可用开关及有关这些开关的帮助:

C:/Tools>aspnet_setreg.exe
回到顶端

在配置文件中使用加密的属性

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

注意:该工具在 HKEY_LOCAL_MACHINE 子树下创建注册表项。默认情况下,只有管理员才能在此子树下创建项。确保您以管理员的身份登录,以便成功创建这些注册表项。

1. 加密将与 <identity> 部分一起使用的 userName 和 password 属性。(您也可以将此操作过程用于本文中提及的其他部分。)为此,请在命令行上键入以下命令:

c:/Tools>aspnet_setreg.exe -k:SOFTWARE/MY_SECURE_APP/identity -u:"yourdomainname/username" -p:"password"

该命令加密 userName 和 password 属性,并在指定的任何位置创建注册表项,然后将这些属性存储在那些注册表项中。此命令还可以生成输出内容,此内容指定如何更改您的 Web.config 或 Machine.config 文件,以便 ASP.NET 使用这些项从注册表中读取信息。

执行此命令之后,您将收到类似于下面的输出内容:

请编辑您的配置文件以包含以下内容:

userName="registry:HKLM/SOFTWARE/MY_SECURE_APP/identity/ASPNET_SETREG,userName"
password="registry:HKLM/SOFTWARE/MY_SECURE_APP/identity/ASPNET_SETREG,password"

注册表项的 DACL 向 System、Administrators 和 Creator Owner 授予完全控制权限。

如果已经为 <identity/> 配置节加密了凭据,或者为 
<sessionState/> 配置节加密了连接字符串,则确保该进程标识具有
对注册表项的“读取”权限。而且,如果您已经相应地配置 IIS 来访问存储在
UNC 共享上的内容,那么访问此共享的用户帐户需要具有对注册表项的“读取”权限。
Regedt32.exe 可以用来查看或修改注册表项权限。

您可以重命名注册表子项和注册表值来避免被发现。

2. 请修改相应的配置文件使之指向这些注册表项。如果必须在 <identity> 节中使用这些值,则得到的 <identity> 节将类似如下内容。

<identity impersonate="true"
userName="registry:HKLM/SOFTWARE/MY_SECURE_APP/identity/ASPNET_SETREG,userName"
password="registry:HKLM/SOFTWARE/MY_SECURE_APP/identity/ASPNET_SETREG,password" />
3. 向 Aspnet_wp.exe 进程帐户授予“读取”权限。有关如何更改注册表项权限的更多信息,请参见“使用 Regedt32.exe 在这些注册表项中为 ASP.NET 帐户授予权限”一节。
回到顶端

使用 Regedt32.exe 在这些注册表项中为 ASP.NET 帐户授予权限

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

1. 单击“开始”,单击“运行”,在“打开”框中键入 regedt32,然后单击“确定”。
2. 单击 HKEY_LOCAL_MACHINE/SOFTWARE/MY_SECURE_APP/ 子项。
3. 在“安全性”菜单上,单击“权限”,以打开“权限”对话框。

在 Microsoft Windows XP 或 Windows Server 2003 上,右键单击该注册表项,然后单击“权限”。

4. 单击“添加”。在打开的对话框中,键入 yourservername/ASPNET(如果使用 Windows Server 2003 (IIS 6.0),则键入 yourservername/NetWork Service),然后单击“确定”。
5. 确保刚才添加的帐户具有“读取”权限,然后单击“确定”。
6. 关闭注册表编辑器。
回到顶端

参考

有关允许您使用本文所述功能的修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

329250 (http://support.microsoft.com/kb/329250/) FIX:用于 processModel、标识和 sessionState 的更强凭据 

有关 Microsoft Windows 注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 注册表说明 

有关 ASP.NET 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

315158 (http://support.microsoft.com/kb/315158/) FIX:ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行 
317012 (http://support.microsoft.com/kb/317012/) ASP.NET 中的进程和请求标识 

如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串相关推荐

  1. TabelDiff实用工具

    1. tablediff是什么? tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用. 后来发现SSIS中的Lookup控件同样可以实现对表的比较,而 ...

  2. ASP+MSSQL注入工具 web版 beta 3 final release

    ASP+MSSQL注入工具 web版 beta 3 final release 2007-10-01 12:17:14 标签:ASP web MSSQL [推送到技术圈] 文章作者:MIKA[EST] ...

  3. (译)利用ASP.NET加密和解密Web.config中连接字符串

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

  4. aqlserver实用程序_sqlserver命令提示实用工具的介绍

    除上述的图形化管理工具外,SQL Server2008还提供了大量的命令行实用工具,包括bcp.dtexec.dtutil.osql.reconfig.sqlcmd.sqlwb和tablediff等, ...

  5. dos盘启动计算机,最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)...

    最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具) 更新时间:2006年12月21日 00:00:00   作者: 首先说明一下各种操作系统启动到DOS的途径: WI ...

  6. 你要了解的11款面向Linux系统的一流备份实用工具

    个人计算机或者服务器上的备份对于防止数据丢失很重要.系统管理员每天需要处理大量的企业级数据,甚至个人计算机上的数据,所以要深入了解不同的备份工具. 经常备份计算机上的数据是个好的做法,它可以手动完成, ...

  7. 今天把积累几年的49个实用工具分享出来,涉及各个方面的工具,进来看一看咯。

         电脑打开找东西发现积累的软件.pdf文档.一些好用的网址(实用工具&学习网站)还挺多的,今天呢就只发我写了好几天的关于软件这部分,每个软件我都会说明一下是干什么用的,怎么安装哈.这些 ...

  8. 网络安全专业应届生必备的几个实用工具,快收藏

    从事网络安全相关工作,我们不仅要有过硬的技术,还需要学会使用工具来辅助工作,那么自然离不开一些重要的网络安全工具,关键是这样的工具可以让我们的工作更高效.更快捷.所以,下面说的几个网络安全领域实用工具 ...

  9. 十多位IT专家分享他们离不开的实用工具

    有一种方式可令你的工作变得简单一些,就是看看其他的IT专家依赖于哪些工具,然后自己试试.Susan Harkins精选出了13位IT专家喜爱的工具清单.这些专家包括了从顾问.程序员到数据库管理员等. ...

最新文章

  1. 万维网源代码以 NFT 形式拍卖,价值或超 4.5 亿?
  2. C#語法學習線程(Thread)
  3. 设计模式(第一次复习)
  4. ssl1125-集合【哈希表二分查找+快排】
  5. 2012年第一个工作日
  6. 朴素贝叶斯分类器python_朴素贝叶斯分类器及Python实现
  7. 正则表达式与python re
  8. python返回菜单_返回上一菜单
  9. CentOS 6.5上安装Python 2.7.9
  10. java培训学费_太原java培训班价格表
  11. torch使用cudnn7
  12. matlab 三角函数方程,Matlab关于含有三角函数的方程的求解
  13. 温度控制pid c语言程序,51单片机温度PID算法(C程序)
  14. java日志文件采集,日志收集十大技术细节
  15. 纯干货!一款APP从设计稿到切图过程全方位揭秘(转)
  16. 管理学原理简答题和论述题
  17. 鸿蒙os跑分,预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000、8GB内存
  18. cad绘制正八边形_CAD正多边形怎么画,快捷键命令是什么?
  19. 微电网调度(风、光、储能、电网交互)(MatlabPython代码实现)
  20. 计算机键盘无法使用怎么处理,电脑键盘失灵怎么解决

热门文章

  1. 成人高考 计算机英语作文,2018年成人高考英语作文范文六篇
  2. 万年历的设计c语言,万年历设计报告
  3. sscanf实用功能简介
  4. Windows10下python-pcl的安装步骤说明,亲测ok
  5. Pyhton,OpenCV对象检测之——Haar级联人脸及眼睛检测
  6. 理解YOLOv2训练过程中输出参数含义
  7. poj 3281 Dining 最大流
  8. smali to java_Smali —— 数学运算,条件判断,循环
  9. 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
  10. Neumorphism.io一个神奇的网站,满足各种圆角矩形ICON图表立体化效果要求,这种样式的名称——新拟态