|
你還能夠使用ASPNET_regiis.exe命令行工具來加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%/Microsoft.NET/Framework/version"目錄下找到這個工具。為了加密Web.config文件中的一個節(jié),你可以在這個命令行工具中使用DPAPI機器密鑰,如下所示:
加密一個特定網(wǎng)站的Web.config文件的通用形式:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pef section physical_directory -prov provider
或:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pe section -app virtual_directory -prov provider
加密一個特定網(wǎng)站的Web.config文件的具體實例:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pef "connectionStrings" "C:/INETpub/wwwroot/MySite" -prov "DataProtectionConfigurationProvider"
或:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pe "connectionStrings" -app "/MySite" -prov "DataProtectionConfigurationProvider"
解密一個特定網(wǎng)站的Web.config文件的通用形式:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pdf section physical_directory
或:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pd section -app virtual_directory
解密一個特定網(wǎng)站的Web.config文件的具體實例:
復(fù)制代碼 代碼如下:
ASPNET_regiis.exe -pdf "connectionStrings" "C:/INETpub/wwwroot/MySite"
或:
你還能夠指定由ASPNET_regiis.exe來執(zhí)行machine.config文件的加密/解密。
【提示】 加密ASP.NET版本1.x中的配置設(shè)置
為了保護ASP.NET版本1.x中的配置設(shè)置,開發(fā)者需要加密并把敏感的設(shè)置存儲在web服務(wù)器的注冊表中,并以一種"強"鍵方式存儲。配置文件中不是存儲加密的內(nèi)容(如ASP.NET 2.0那樣),而只是包含一個到存儲該加密值的注冊表鍵的引用。例如:
復(fù)制代碼 代碼如下:
<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" />
微軟為開發(fā)人員提供了ASPNET_setreg.exe命令行工具,用于加密敏感的配置信息并且把它移動到一個"強"注冊表入口處。遺憾的是,這個工具僅針對特定的配置設(shè)置工作;相比之下,ASP.NET 2.0允許加密任何配置節(jié)。
有關(guān)于在一個ASP.NET 1.x應(yīng)用程序中使用ASPNET_setreg.exe的更多信息請參考MSDN中的KB#32990。遺憾的是,這個命令行程序僅能加密配置設(shè)置中的預(yù)定義的節(jié),并且不允許你加密你自己添加的數(shù)據(jù)庫連接字符串和其它敏感信息。
加密實例:
復(fù)制代碼 代碼如下:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASPNET_regiis -pdf connectionStrings I:/代碼倉庫/wt_Projects/WebSites/WebSite
AspNet技術(shù):asp.net web.config加密解密方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。