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

首頁 > 編程 > .NET > 正文

asp.net 2.0 中加密web.config 文件中的配置節(jié)

2024-07-10 13:09:00
字體:
供稿:網(wǎng)友

在asp.net2.0中新增了對(duì)web.config中的部分?jǐn)?shù)據(jù)進(jìn)行加密的功能,可以使用rsaprotectedconfigurationprovider和dpapiprotectedconfigurationprovider來加密,本文說明使用rsaprotectedconfigurationprovidert和計(jì)算機(jī)級(jí)別的密鑰容器進(jìn)行加密的步驟。

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)限

step 1:首先確定要進(jìn)行加密的web.config中的配置節(jié)是否可以加密
asp.net 2.0支持對(duì)web.config的部分配置節(jié)進(jìn)行加密,以下配置節(jié)中的數(shù)據(jù)是不能進(jìn)行加密的:

<processmodel>
<runtime>
<mscorlib>
<startup>
<system.runtime.remoting>
<configprotecteddata>
<satelliteassemblies>
<cryptographysettings>
<cryptonamemapping>
<cryptoclasses>
 

step2:創(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

step 3: modify web.config to identify the key container
編輯web.config文件以標(biāo)識(shí)要使用的密鑰容器

在web.config中加以<configprotecteddata>來配置密鑰容器, 使用名為 abeenkeys 的計(jì)算機(jī)級(jí) rsa 密鑰容器的
在<configuration>中加入xmlns屬性


<configuration xmlns="http://schemas.microsoft.com/.netconfiguration/v2.0">使用名為 abeenkeys 的計(jì)算機(jī)級(jí) rsa 密鑰容器的 saprotectedconfigurationprovider。
  <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文件中的配置節(jié)

> aspnet_regiis -pe "connectionstrings" -app "/connectiontest" 
 
step 5:授予對(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"

代碼下載http://www.cnblogs.com/files/abeen/connectiontest.rar
注意:我發(fā)現(xiàn)這個(gè)方法有個(gè)缺陷,哪就是在每次加密完后,重新啟動(dòng)機(jī)算機(jī)發(fā)現(xiàn)iis admin出錯(cuò)了,還得重新安裝 iis  郁悶

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通榆县| 梧州市| 洛隆县| 固镇县| 新乡县| 双桥区| 内丘县| 长葛市| 灵璧县| 黔南| 博野县| 乌兰浩特市| 通海县| 古蔺县| 定远县| 吴忠市| 如皋市| 井研县| 汶川县| 长顺县| 乌兰县| 临城县| 黄浦区| 古丈县| 砚山县| 石门县| 勐海县| 六盘水市| 高州市| 南城县| 灯塔市| 三都| 郑州市| 禹城市| 杭州市| 深圳市| 修武县| 静安区| 吴旗县| 高要市| 德清县|