700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > asp.net 2.0 中加密web.config 文件中的配置节

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

时间:2020-10-09 19:24:47

相关推荐

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

只要你有一台电脑或者手机,都能关注为大家精心推荐的 2.0 中加密 文件中的配置节,手机电脑控们准备好了吗?一起看过来吧!

在2.0中新增了对中的部分数据进行加密的功能,可以使用RSAProtectedConfigurationProvider和DPAPIProtectedConfigurationProvider来加密,本文说明使用RSAProtectedConfigurationProvidert和计算机级别的密钥容器进行加密的步骤。

1. 首先确定要进行加密的中的配置节是否可以加密

2. 创建RSA密钥容器

3. 在中标识要使用的密钥容器

4. 对进行加密

5. 授予对 RSA 密钥容器的访问权限

Step 1:首先确定要进行加密的中的配置节是否可以加密

支持对的部分配置节进行加密,以下配置节中的数据是不能进行加密的:

processModel

runtime

mscorlib

startup

configProtectedData

satelliteassemblies

cryptographySettings

cryptoNameMapping

cryptoClasses

Step2:创建 RSA 密钥容器

若要创建 RSA 密钥容器,请使用 IIS 注册工具 (Aspnet_regiis.exe) 及 –pc 开关。必须为密钥容器指定一个名称,该名称标识应用程序的 文件的 configProtectedData 节中指定的 RsaProtectedConfigurationProvider 所使用的密钥容器。为确保可以导出新创建的 RSA 密钥容器,必须包括 -exp 选项。

例如,下面的命令创建一个名为ABeenKeys 的 RSA 密钥容器,该容器是可导出的计算机级密钥容器。

aspnet_regiis -pc "ABeenKeys"–exp

Step 3: Modify to identify the key container

编辑文件以标识要使用的密钥容器

在中加以configProtectedData来配置密钥容器, 使用名为 ABeenKeys 的计算机级 RSA 密钥容器的

在configuration中加入xmlns属性

configuration xmlns=""使用名为 ABeenKeys 的计算机级 RSA 密钥容器的 saProtectedConfigurationProvider。

configProtectedDataprovidersadd name="ABeenProvider" type=", , Version=2.0.0.0,Culture=neutral, processorArchitecture=MSIL"keyContainerName="ABeenKeys"/ /providers /configProtectedData

Step 4: Encrypt the connectionStrings section of your file

加密你的文件中的配置节

aspnet_regiis -pe "connectionStrings" -app "/connectionTest"

Step 5:授予对 RSA 密钥容器的访问权限

可以通过以下代码确定应该给哪个用户权限

Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);

默认情况下,RSA 密钥容器受到所在服务器上的 NTFS 访问控制列表 (ACL) 的严密保护。这样能够限制可以访问加密密钥的人员,从而增强加密信息的安全性。必须首先向 应用程序的进程标识授予对该 RSA 密钥容器的读取访问权限,然后 才能使用 RSA 密钥容器。可以使用 Aspnet_regiis.exe 工具及 -pa 开关,向 应用程序的标识授予读取 RSA 密钥容器的权限。例如,下面的命令向 WindowsServer NETWORK SERVICE 帐户授予对名为 ABeenKeys 的计算机级 RSA 密钥容器的读取访问权限:

aspnet_regiis -pa "ABeenKeys" "NT AUTHORITYNETWORK SERVICE"

注意:

如果 RSA 密钥容器是用户级容器,必须以其 Windows 配置文件存储了密钥的用户的身份登录,并且必须包括 -pku 选项以授予对该用户级 RSA 密钥容器的访问权限。

若要使用计算机配置中指定的默认 RsaProtectedConfigurationProvider,必须首先向应用程序的 Windows 标识授予对名为 NetFrameworkConfigurationKey 的计算机密钥容器的访问权限,该计算机密钥容器是为该默认提供程序指定的密钥容器。例如,下面的命令向 NETWORK SERVICE 帐户授予对默认 RsaProtectedConfigurationProvider 所使用的 RSA 密钥容器的访问权限。

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITYNETWORK SERVICE"

NetFrameworkConfigurationKey RSA 密钥容器是 Aspnet_regiis.exe 工具所发出的命令的默认密钥容器。因此上述命令也可以按以下方式发出:

aspnet_regiis -pa "NT AUTHORITYNETWORK SERVICE"

代码下载/Files/abeen/connectionTest.rar

注意:我发现这个方法有个缺陷,哪就是在每次加密完后,重新启动机算机发现IIS admin出错了,还得重新安装 iis 郁闷!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。