輕松加密ASP.NET 2.0 Web程序配置信息
2006/12/25 23:42:18
另外,存在一些你不能使用這個技術加密的配置部分:
· <processModel>
· <runtime>
· <mscorlib>
· <startup>
· <system.runtime.remoting>
· <configProtectedData>
· <satelliteassemblies>
· <cryptographySettings>
· <cryptoNameMapping>
· <cryptoClasses>
為了加密這些配置部分,你必須加密這些值并把它存儲在注冊表中。存在一個aspnet_setreg.exe命令行工具可以幫助你實現這一過程;我們將在本文后面討論這個工具。
【提示】Web.Config和Machine.Config之區別:
Web.config文件指定針對一個特定的web應用程序的配置設置,并且位于應用程序的根目錄下;而machine.config文件指定所有的位于該web服務器上的站點的配置設置,并且位于$WINDOWSDIR$\Microsoft.Net\Framework\Version\CONFIG目錄下。
四、加密選項
開發人員可以使用ASP.NET 2.0提供程序模型來保護配置節信息,這允許任何實現都可以被無縫地插入到該API中。.NET框架2.0中提供了兩個內置的提供程序用于保護配置節信息:
· Windows數據保護API(DPAPI)提供程序(DataProtectionConfigurationProvider):這個提供程序使用Windows內置的密碼學技術來加解密配置節。默認情況下,這個提供程序使用本機的密鑰。你還能夠使用用戶密鑰,但是這要求進行一點定制。
· RSA保護的配置提供程序(RSAProtectedConfigurationProvider):使用RSA公鑰加密來加解密配置節。使用這個提供程序,你需要創建存儲用于加解密配置信息的公鑰和私鑰的密鑰容器。你能夠在一個多服務器場所下使用RSA,這只要創建可輸出的密鑰容器即可。
當然,如果需要的話,你還能夠創建自己的保護設置提供程序。
在本文中,我們僅討論使用DPAPI提供程序使用機器級密鑰。到目前為止,這是最簡單的方法,因為它不請求創建任何密鑰或密鑰容器。當然,其消極的一面在于:一個加密的配置文件僅能夠用于首先實現加密的web服務器上;而且,使用機器密鑰將允許加密的文本能夠被web服務器上的任何網站所解密。
五、以編程方式加密配置部分
System.Configuration.SectionInformation類對一個配置節的描述進行了抽象。為了加密一個配置節,只需要簡單地使用SectionInformation類的ProtectSection(提供程序)方法,傳遞你想使用的提供程序的名字來執行加密。為了存取你的應用程序的Web.config文件中的一個特定的配置節,你可以使用WebConfigurationManager類(在System.Web.Configuration命名空間中)來引用你的Web.config文件,然后使用它的GetSection(sectionName)方法返回一個ConfigurationSection實例。最后,你可以經由ConfigurationSection實例的SectionInformation屬性得到一個SectionInformation對象。
下面,我們通過一個簡單的代碼示例來說明問題:
privatevoid ProtectSection(string sectionName, string provider)
{
Configuration config = WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null &&!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection(provider);
config.Save();
}
}
private void UnProtectSection(string sectionName) {
Configuration config =WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSectio n(sectionName);
if (section != null && section.SectionInformation.IsProtected)
{
section.Sectio
下一頁
返回列表
返回首頁
主站蜘蛛池模板:
欧美另类69xxxxxhd|
久久久久亚洲精品中文字幕|
伊人一伊人色综合网|
日韩成人在线免费视频|
亚洲视频在线观看视频|
欧美色图在线播放|
在线观看片免费人成视频播放
|
看免费的黄色片|
国产精品亚洲专区无码唯爱网|
japanese日本熟妇多毛|
极品色αv影院|
午夜天堂精品久久久久|
青青草国产免费久久久91|
国产精品久久亚洲一区二区|
999福利视频|
无码少妇一区二区三区芒果|
亚洲精品国产国语|
青青草原亚洲视频|
国产福利vr专区精品|
一本色道久久88加勒比—综合|
欧美亚洲天堂网|
亚洲精品成人网站在线观看
|
国外欧美一区另类中文字幕|
xxxx性视频|
日韩视频中文字幕精品偷拍|
健身私教弄了我好几次怎么办|
992tv国产人成在线观看|
国产精品美女一区二区|
两个人看的www免费|
日本无卡无吗在线|
亚洲精品国产首次亮相|
穿长筒袜的有夫之妇hd中文|
国产成人啪精品视频免费网
|
日韩激情淫片免费看|
亚洲丶国产丶欧美一区二区三区|
精品欧美一区二区精品久久|
国产丰满麻豆videossexhd|
87午夜伦伦电影理论片|
成年女人18级毛片毛片免费|
亚洲人成网男女大片在线播放|
正在播放西川ゆい在线|