• 加密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 证书
    js 压缩
    身份证认证
    在 Visual Studio 2015 中关闭系统级的 Runtime Exceptions
    在 Visual Studio 2015 中关闭 Browser Link
    List<T>.ForEach()的使用
    使用Microsoft.Practices.EnterpriseLibrary.Validation.dll验证类成员
    jQuery.filter()的强大功能
    jQuery Checkbox Selected
    Get SQL String From Query Object In Entity Framework
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1635881.html
Copyright © 2020-2023  润新知