加密web.config 导入导出密钥一些资料

http://msdn.microsoft.com/zh-cn/library/53tyfkaw(VS.80).aspx

 

  • 情景1:使用缺省的密钥容器(NetFrameworkConfigurationKey)加密 Web.config 文件的 ConnectionStrings节
    aspnet_regiis -pe "connectionStrings" -app "/WebApp"
    注意:要用站点的虚拟目录路径替换 /WebApp
  • 解密使用缺省的密钥容器(NetFrameworkConfigurationKey)加密的 Web.config 文件的 ConnectionStrings节
    aspnet_regiis -pd "connectionStrings" -app "/WebApp"
  •  确定 ASP.NET 应用程序的标识
    在站点根目录新建一个页面,保存为 Identity.aspx,内容如下
    <%
    Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
    %>
    在浏览器中打开该文件,将显示该站点的 ASP.NET 应用程序的标识。
  • 授予 ASP.NET 应用程序标识对缺省 RSA 密钥容器的访问权限
    aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
    注意:要用 Identity.aspx 中显示的 ASP.NET 应用程序标识替换 NT AUTHORITY\NETWORK SERVICE
  • 删除 ASP.NET 应用程序标识对缺省 RSA 密钥容器的访问权限
    aspnet_regiis -pr "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
  • 情景2:创建自定义的密钥容器,例如:MyKeys
    aspnet_regiis -pc "MyKeys" -exp
  • 指定“受保护配置”提供程序的实例,在 Web.config 文件中添加 <configProtectedData> 节,其中包括名为 "MyProvider" 的 RsaProtectedConfigurationProvider 类的实例,这个类使用名为 MyKeys 的计算机级别 RSA 密钥容器
    < configuration >
       
    < configProtectedData >
          
    < providers >
             
    < add  name ="MyProvider"
                  type
    ="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
                  keyContainerName
    ="MyKeys"  useMachineContainer ="true"   />
          
    </ providers >
       
    </ configProtectedData >

       
    < connectionStrings >
          
    < add  name ="MsPetShop"  connectionString ="Server=(local);Initial Catalog=MsPetShop;User Id=DbUser;Password=pass@word1"   />
       
    </ connectionStrings >
    </ configuration >
  • 使用自定义的密钥提供程序(MyProvider)加密 Web.config 文件的 ConnectionString节
    aspnet_regiis -pe "connectionStrings" -app "/WebApp" -prov "MyProvider"
  • 解密使用自定义的密钥提供程序(MyProvider)加密 Web.config 文件的 ConnectionString节
    aspnet_regiis -pd "connectionStrings" -app "/WebApp"
    提示:解密的时候不需要 -prov "MyProvider" 参数,但服务器应该已经导入自定义的 MyKeys 密钥容器,否则无法解密。参考下面的导入方法。
  • 导出自定义 MyKeys 密钥容器,以便在另一台服务器导入
    aspnet_regiis -px "MyKeys" "c:\keys.xml" -pri
  • 在另一台服务器导入自定义 MyKeys 密钥容器
    aspnet_regiis -pi "MyKeys" "c:\keys.xml"
    警告:为防止非授权用户对 Web.config 文件进行解密,不应该将此密钥容器文件长期存放在 Web站点服务器!导入完成后应该将此 xml 文件存放到另一台计算机作为备份。
  • 授予 ASP.NET 应用程序标识对自定义 MyKeys 密钥容器的访问权限
    aspnet_regiis -pa "MyKeys" "NT AUTHORITY\NETWORK SERVICE"
    注意:要用 Identity.aspx 中显示的 ASP.NET 应用程序标识替换 NT AUTHORITY\NETWORK SERVICE
  • 删除 ASP.NET 应用程序标识对自定义 MyKeys 密钥容器的访问权限
    aspnet_regiis -pr "MyKeys" "NT AUTHORITY\NETWORK SERVICE"
  • 情景3:删除自定义的 MyKeys 密钥容器
    aspnet_regiis -pz "MyKeys"

 如果要加密system.net/mailSettings/smtp

aspnet_iis pef "system.net/mailSetting/smtp" "d:\membership"

转载于:https://www.cnblogs.com/iceberg2008/archive/2009/12/30/1635881.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值