国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net 2.0 中加密web.config 文件中的配置節

2019-11-18 16:46:57
字體:
來源:轉載
供稿:網友

asp.net2.0中新增了對web.config中的部分數據進行加密的功能,可以使用RSAPRotectedConfigurationProvider和DPAPiprotectedConfigurationProvider來加密,本文說明使用RSAProtectedConfigurationProvidert和計算機級別的密鑰容器進行加密的步驟。

1.         首先確定要進行加密的web.config中的配置節是否可以加密

2.         創建RSA密鑰容器

3.         在web.config中標識要使用的密鑰容器

4.         對web.config進行加密

5.         授予對 RSA 密鑰容器的訪問權限

Step 1:首先確定要進行加密的web.config中的配置節是否可以加密
ASP.NET 2.0支持對Web.config的部分配置節進行加密,以下配置節中的數據是不能進行加密的:

<processModel>
<runtime>
<mscorlib>
<startup>
<system.runtime.remoting>
<configProtectedData>
<satelliteassemblies>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
 

Step2:創建 RSA 密鑰容器
若要創建 RSA 密鑰容器,請使用 ASP.NET IIS 注冊工具 (Aspnet_regiis.exe) 及 –pc 開關。必須為密鑰容器指定一個名稱,該名稱標識應用程序的 Web.config 文件的 configProtectedData 節中指定的 RsaProtectedConfigurationProvider 所使用的密鑰容器。為確保可以導出新創建的 RSA 密鑰容器,必須包括 -exp 選項。

例如,下面的命令創建一個名為 ABeenKeys 的 RSA 密鑰容器,該容器是可導出的計算機級密鑰容器。

aspnet_regiis -pc "ABeenKeys"–exp

Step 3: Modify web.config to identify the key container
編輯Web.config文件以標識要使用的密鑰容器

在web.config中加以<configProtectedData>來配置密鑰容器, 使用名為 ABeenKeys 的計算機級 RSA 密鑰容器的
在<configuration>中加入xmlns屬性


<configuration xmlns="  <configProtectedData >    <providers>      <add name="ABeenProvider"       type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, processorArchitecture=MSIL"      keyContainerName="ABeenKeys"/>    </providers>  </configProtectedData>
Step 4: Encrypt the <connectionStrings> section of your web.config file
加密你的web.config文件中的配置節

> aspnet_regiis -pe "connectionStrings" -app "/connectionTest" 
 
Step 5:授予對 RSA 密鑰容器的訪問權限
可以通過以下代碼確定應該給哪個用戶權限

Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
默認情況下,RSA 密鑰容器受到所在服務器上的 NTFS 訪問控制列表 (ACL) 的嚴密保護。這樣能夠限制可以訪問加密密鑰的人員,從而增強加密信息的安全性。必須首先向 ASP.NET 應用程序的進程標識授予對該 RSA 密鑰容器的讀取訪問權限,然后 ASP.NET 才能使用 RSA 密鑰容器。可以使用 Aspnet_regiis.exe 工具及 -pa 開關,向 ASP.NET 應用程序的標識授予讀取 RSA 密鑰容器的權限。例如,下面的命令向 Windows Server 2003 NETWORK SERVICE 帳戶授予對名為 ABeenKeys 的計算機級 RSA 密鑰容器的讀取訪問權限:

aspnet_regiis -pa "ABeenKeys" "NT AUTHORITY/NETWORK SERVICE"
注意:
 
如果 RSA 密鑰容器是用戶級容器,必須以其 Windows 配置文件存儲了密鑰的用戶的身份登錄,并且必須包括 -pku 選項以授予對該用戶級 RSA 密鑰容器的訪問權限。
 

若要使用計算機配置中指定的默認 RsaProtectedConfigurationProvider,必須首先向應用程序的 Windows 標識授予對名為 NetFrameworkConfigurationKey 的計算機密鑰容器的訪問權限,該計算機密鑰容器是為該默認提供程序指定的密鑰容器。例如,下面的命令向 NETWORK SERVICE 帳戶授予對默認 RsaProtectedConfigurationProvider 所使用的 RSA 密鑰容器的訪問權限。

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"
NetFrameworkConfigurationKey RSA 密鑰容器是 Aspnet_regiis.exe 工具所發出的命令的默認密鑰容器。因此上述命令也可以按以下方式發出:

aspnet_regiis -pa "NT AUTHORITY/NETWORK SERVICE"

代碼下載http://m.survivalescaperooms.com/Files/abeen/connectionTest.rar
注意:我發現這個方法有個缺陷,哪就是在每次加密完后,重新啟動機算機發現IIS admin出錯了,還得重新安裝 iis  郁悶!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大同市| 阆中市| 延寿县| 益阳市| 外汇| 南靖县| 台前县| 象州县| 鄂托克旗| 荔浦县| 敦煌市| 科尔| 靖边县| 三门县| 同江市| 辽中县| 静乐县| 湟中县| 潜江市| 垦利县| 凤城市| 温泉县| 米林县| 襄樊市| 西贡区| 钦州市| 绥阳县| 伊吾县| 准格尔旗| 农安县| 嘉定区| 万荣县| 南投市| 布拖县| 忻州市| 团风县| 岳阳县| 五原县| 岳西县| 法库县| 浦江县|