十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
ASP.NET中Web.config文件的作用是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的南州晴隆網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1. 首先確定要進(jìn)行加密的web.config中的配置節(jié)是否可以加密
2. 創(chuàng)建RSA密鑰容器
3. 在web.config中標(biāo)識(shí)要使用的密鑰容器
4. 對(duì)web.config進(jìn)行加密
5. 授予對(duì) RSA 密鑰容器的訪問權(quán)限
首先確定要進(jìn)行加密的web.config中的配置節(jié)是否可以加密
ASP.NET 2.0支持對(duì)Web.config的部分配置節(jié)進(jìn)行加密,以下配置節(jié)中的數(shù)據(jù)是不能進(jìn)行加密的:
創(chuàng)建 RSA 密鑰容器
若要?jiǎng)?chuàng)建 RSA 密鑰容器,請(qǐng)使用 ASP.NET IIS 注冊(cè)工具 (Aspnet_regiis.exe) 及 –pc 開關(guān)。必須為密鑰容器指定一個(gè)名稱,該名稱標(biāo)識(shí)應(yīng)用程序的 Web.config文件的 configProtectedData 節(jié)中指定的 RsaProtectedConfigurationProvider 所使用的密鑰容器。為確??梢詫?dǎo)出新創(chuàng)建的 RSA 密鑰容器,必須包括 -exp 選項(xiàng)。
例如,下面的命令創(chuàng)建一個(gè)名為 ABeenKeys 的 RSA 密鑰容器,該容器是可導(dǎo)出的計(jì)算機(jī)級(jí)密鑰容器。
aspnet_regiis -pc "ABeenKeys"–exp
Modify web.config to identify the key container
編輯Web.config文件以標(biāo)識(shí)要使用的密鑰容器
在web.config中加以
在< configuration>中加入xmlns屬性
使用名為 ABeenKeys 的計(jì)算機(jī)級(jí) RSA 密鑰容器的 saProtectedConfigurationProvider。
>
name="ABeenProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.
Configuration, Version=2.0.0.0,Culture=neutral, processorArchitecture=MSIL"keyContainerName="ABeenKeys"/>
Encrypt the
加密你的web.config文件中的配置節(jié)aspnet_regiis -pe "connectionStrings" -app "/connectionTest"
授予對(duì) RSA 密鑰容器的訪問權(quán)限
可以通過以下代碼確定應(yīng)該給哪個(gè)用戶權(quán)限
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
默認(rèn)情況下,RSA 密鑰容器受到所在服務(wù)器上的 NTFS 訪問控制列表 (ACL) 的嚴(yán)密保護(hù)。這樣能夠限制可以訪問加密密鑰的人員,從而增強(qiáng)加密信息的安全性。必須首先向 ASP.NET 應(yīng)用程序的進(jìn)程標(biāo)識(shí)授予對(duì)該 RSA 密鑰容器的讀取訪問權(quán)限,然后 ASP.NET 才能使用 RSA 密鑰容器??梢允褂?Aspnet_regiis.exe 工具及 -pa 開關(guān),向 ASP.NET 應(yīng)用程序的標(biāo)識(shí)授予讀取 RSA 密鑰容器的權(quán)限。例如,下面的命令向 Windows Server 2003 NETWORK SERVICE 帳戶授予對(duì)名為 ABeenKeys 的計(jì)算機(jī)級(jí) RSA 密鑰容器的讀取訪問權(quán)限:
aspnet_regiis -pa "ABeenKeys" "NT AUTHORITY\NETWORK SERVICE"
注意:
如果 RSA 密鑰容器是用戶級(jí)容器,必須以其 Windows 配置文件存儲(chǔ)了密鑰的用戶的身份登錄,并且必須包括 -pku 選項(xiàng)以授予對(duì)該用戶級(jí) RSA 密鑰容器的訪問權(quán)限。
若要使用計(jì)算機(jī)配置中指定的默認(rèn) RsaProtectedConfigurationProvider,必須首先向應(yīng)用程序的 Windows 標(biāo)識(shí)授予對(duì)名為 NetFrameworkConfigurationKey 的計(jì)算機(jī)密鑰容器的訪問權(quán)限,該計(jì)算機(jī)密鑰容器是為該默認(rèn)提供程序指定的密鑰容器。例如,下面的命令向 NETWORK SERVICE 帳戶授予對(duì)默認(rèn) RsaProtectedConfigurationProvider 所使用的 RSA 密鑰容器的訪問權(quán)限。
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
NetFrameworkConfigurationKey RSA 密鑰容器是 Aspnet_regiis.exe 工具所發(fā)出的命令的默認(rèn)密鑰容器。因此上述命令也可以按以下方式發(fā)出:
aspnet_regiis -pa "NT AUTHORITY\NETWORK SERVICE"
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。