如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
生活随笔
收集整理的這篇文章主要介紹了
如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 文章編號 | : | 329290 |
| 最后修改 | : | 2006年4月10日 |
| 修訂 | : | 8.0 |
本頁
概要? 簡介? 重新啟動?IIS? 更多信息? 下載和運行?Aspnet_setreg.exe? 在配置文件中使用加密的屬性? 使用?Regedt32.exe?在這些注冊表項中為?ASP.NET?帳戶授予權限? 參考?概要
本文分步介紹如何使用?Aspnet_setreg.exe?實用工具加密憑據和會話狀態連接字符串。如果您想完成下列任一操作,Microsoft?ASP.NET?版本?1.0?都會要求您將純文本憑據存儲在配置文件中:?| ? | 更改?ASP.NET?工作進程標識。 |
| ? | 指定一個模擬標識。 |
| ? | 指定一個用于會話狀態的連接字符串。 |
| ? | <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>?節將類似如下內容。 |
| 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 实用工具加密凭据和会话状态连接字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天猫魔盒说明书?
- 下一篇: 在C#中使用COM+实现事务控制