导读:
加密web.config中的内容
1、Create an RSA keypair in ContainerName, -exp means the key is exportable(创建一个密钥容器)
aspnet_regiis -pc "ConnectionStringsKey" -exp
ConnectionStringsKey为密钥容器的名称
可以使用aspnet_regiis /?查看该命令的用法
2、在web.config中加入如下内容
<configprotecteddata><br> <providers><br> <clear></clear><br> <add name="ConnectionStringsKeyProvider"> type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" <br> keyContainerName="ConnectionStringsKey" <br> useMachineContainer="true"/> <br> </add></providers><br> </configprotecteddata>
3、是用指定的密钥加密指定目录下的web.config文件的指定的配置节
aspnet_regiis -pef "connectionStrings" "d:\testproj\websitetest" -prov "ConnectionStringsKeyProvider"
对于子配置节用/分隔表示, 如identity配置节 需要写成 "system.web/identity"
4、如果访问web程序,页面提示 Error message from the provider: The RSA key container could not be opened.
是由于network service帐户无法访问密钥文件造成的。 找到密钥文件, 赋予network service读权限。
该密钥文件位于(可按时间排序,找到自己产生的那个密钥文件)
vista: c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\
xp或其他:C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
至此:查看被加密的标记, 内容就已经是被加密过的了。
其他备用操作
1、解密web.config
aspnet_regiis -pdf "connectionStrings" "d:\testproj\websitetest"
2、把密钥容器导出为xml文件
aspnet_regiis -px "ConnectionStringsKey" "c:\Key.xml"
这个命令只导出公钥,因此以后只能用于加密,而无法解密。
aspnet_regiis -px "ConnectionStringsKey" "c:\Keys.xml" -pri
这个则连私钥一起导出了,所以我们要用这个。
3、把密钥容器删除
aspnet_regiis -pz "LixinKey"
删除后再运行程序,会提示出错:
分析器错误信息: 未能使用提供程序“LixinKeyProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。
同理可以证明,在任何一台未安装正确的密钥容器LixinKey的机器上,程序都无法对connectionStrings节进行解密,因此也就无法正常运行。
4、导入key.xml文件
aspnet_regiis -pi "LixinKey" "c:\Keys.xml"
此时,再运行程序会发现又可以解密了。证明加密与解密机制运行正常。
本文转自
http://zhangxiaoyu0312.blog.sohu.com/71633822.html
分享到:
相关推荐
该类能实现对web.config文件中的ConnectionsStrings元素进行配置,更改数据源的位置。
web.config文件详解 Web.Config是以XML文件规范存储,配置文件分为以下格式 ... 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用标记,可以自定义分组,可以放到内部或其它标记的内部.
Web.config 文件是一个xml文本文件,它用来储存 asp.NET Web 应用程序的配置信息(如最常用的设置asp.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,...
方便加密或者解密asp.net mvc网站web.config文件中的数据库连接串。加密后即使黑客拿到web.config文件也看不到你的数据库连接串,增加网站和数据库安全!有了这个工具,就不用记那些晦涩的dos命令拉
C#中web.config文件的详细设置,在开发有重要的作用
加密Web.config配置文件、加密Web.config配置文件
在项目里经常有动态配置web.config文件的,比如用户自定义文件路径、项目皮肤等,可以给做一个界面让用户自定义配置文件,而不需要专用的开发人员来配置web.config。
很多人为配置web.config配置文件烦恼,如今小第做的程序解决了你们的烦恼
Web.config配置文件详解Web.config配置文件详解Web.config配置文件详解
配置WEB.CONFIG连接数据库 ①providerName="System.Data.SqlClient" ----说明使用的是MSSQLServer数据库 ②providerName="System.Data.SqlLite" ----说明使用的是SQLLite数据库 ③providerName="System.Data.Oracle...
用后台编码的形式对web.config数据库连接字符串或者某个节点进行加密这里提供俩种方式:DataProtectionConfigurationProvider和RSAProtectedConfigurationProvider
ASPhere是一个非常强大的web.config文件编辑器,能够对该文件进行一个简单的微调和编辑,相信是每一位工作人员必备的辅助工具!其次,ASPhere拥有多项给力的修改功能,完美的支持快速打开文件、保存、多个文档一起...
很多asp.net项目中必须web.config文件,但是如果对它不熟悉的话也会带来很多麻烦。近日,看到博客园技术前辈总结的文章很不错,推荐给大家,以便在今后的开发中少走弯路。
客户一般不认同这种在config文件中保存数据的做法。具体点说,客户关心的是如何在文本文件中保存敏感信息。碰到这类客户时,笔者会告诉他们如果能够其他人可以从他们的网络服务器中移除文本文件,那么他们的问题就...
用.net架设webserice的时候设置web. Config 中 Appsettings 应用技巧.html
解决iis报错C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config配置文件的XML格式不正常,先检查本地有没有此路径,如果没有先去微软官网下载.netframework4.0,之后重新测试如果还不行,可以直接...
ASP.NET 配置文件 Web.config详细解释 认识Web.config文件 web.config配置文件(默认的配置设置) 等等
我朋友给的。绝对好东西啊。他藏了好久才发出来的。大家搞站的时候应该经常碰到加了密的web.config吧。里面的SQL连接帐号和密码看不到。用这东西就可以解了,不建议大家搞破坏。
Web.config配置文件详解[定义].pdf