加密 web.config

原创 2007年09月17日 12:42:00

今天在做项目的时候 ,想对web.config里的节点加密,但直接加密后出现下面的错误

配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。
找了下解决方法如下:
1、打开记事本,然后将下面的代码复制到一个新文件中。

<%@ Page Language="C#" %>
<%
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
%>

保存 my.aspx 到你的web目录 ,运行一下窗体显示 “ NT AUTHORITY/NETWORK SERVICE ”。成功!

2、(关键一步)运行cmd,执行以下

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"
 

说明:注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器,
NetFrameworkConfigurationKey 是 RsaProtectedConfigurationProvider 的默认provider成功!

3、现在,可以加密web.config ,运行:

加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb"
说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录
解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb"

成功!

4、这样就可以在程序里调用了(不用解密, 哈哈):
...
string connstr= ConfigurationManager.ConnectionStrings["myConnstr"].ConnectionString.ToString();
...



  (1)、aspnet_regiis -pc "MyKeys" -exp 
(2)、在web.config里加入以下:
<protectedData>
<providers>
<add name="MyProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0. 0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d0a3a,
processorArchitecture=MSIL"
keyContainerName="MyKeys"
useMachineContainer="true" />
</providers>
</protectedData>

保存。


(3)、授予帐户对计算机级别的 "MyKeys" RSA 密钥容器的访问权限,

aspnet_regiis -pa "MyKeys" "NT AUTHORITY/NETWORK SERVICE"

(4)、现在,可以加密web.config ,运行:

加密aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "MyProvider"

说明"connectionStrings" 是要加密的节"/Myweb"是的web目录"MyProvider"

解密aspnet_regiis -pd "connectionStrings" -app "/Myweb" -prov "MyProvider"

     

C# Web.Config 加密与解密

用后台编码的形式对web.config数据库连接字符串或者某个节点进行加密 这里提供俩种方式: DataProtectionConfigurationProvider和RSAProtectedCo...
  • sat472291519
  • sat472291519
  • 2017年04月27日 16:39
  • 834

Web.config 加密及解密

Web应用通常使用web.config存储数据库连接信息及应用的一些基础配置信息。为了安全性,我们采用一些加密手段来加密一些敏感信息,比如数据库连接字符串。 .NET 自带了一个aspnet_reg...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年09月01日 22:04
  • 1731

asp.net C#中对Web.Config字符串加密与解密的方法

【案例引用】 例如 XML/HTML code ? 1 2 3 connectionStrings>      ...
  • English0523
  • English0523
  • 2016年07月28日 14:55
  • 2976

ViewState的使用与配置

 ViewState就是页面中的名字叫做__VIEWSTATE的隐藏控件,它使我们页面体积膨胀,不利于页面的seo优化;页面返送间都要携带更多的大量的数据,耗费更多的流量、延长响应时间。 ...
  • yygzs2012
  • yygzs2012
  • 2017年04月06日 16:03
  • 380

加密与解密Web.Config

ASP.NET 3.5 中提供了对配置节直接加密的功能。在配置文件中有几处配置可能包含敏感信息,如节,它可能包含连接数据库的用户名和密码。节可能包含runtime 使用模拟账户的用户名和密码,甚至可能...
  • u010078133
  • u010078133
  • 2016年12月21日 10:47
  • 149

Web.config 加密与解密

供有关加密 ASP.NET 应用程序配置文件的节的逐步骤示例。   由于能对存储在 Web.config 文件中的敏感信息进行加密,“受保护的配置”有助于提高应用程序的安全性。可以使用 aspnet...
  • benjiao878
  • benjiao878
  • 2014年04月26日 09:20
  • 256

如何对web.config进行加密和解密

http://blog.csdn.net/jf_jifei/article/details/6527390 在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和...
  • DJ2008
  • DJ2008
  • 2015年10月23日 10:01
  • 1630

移除apsx视图引擎,及View文件夹下的web.config的作用

使用Rezor视图引擎的时候移除apsx视图引擎 Global.asax文件 using System; using System.Collections.Generic; using S...
  • Fanbin168
  • Fanbin168
  • 2015年07月09日 00:12
  • 1692

Web.config配置文件详解(新手必看)

花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法。很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。所以这里只介绍一些比较常用的节点。 xm...
  • u014194763
  • u014194763
  • 2016年07月04日 14:42
  • 4945

Asp.net中web.config配置文件最全面详解

web.config是一个XML文件,用来储存Asp.net Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.net Web应用程序服务器上的任何目录中,每个Web.c...
  • u011966339
  • u011966339
  • 2017年03月22日 09:52
  • 2048
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:加密 web.config
举报原因:
原因补充:

(最多只允许输入30个字)