惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

博客园 - 博客人

Asp.net2.0页面的生命周期 写有效率的SQL查询(V) aspx页面事件执行顺序 如何从优化SQL入手提高数据仓库的ETL效率(转载) 简单的3个SQL视图搞定所有SqlServer数据库字典 (转载) IIS的各种身份验证详细测试 .Net专题(C# 中的委托和事件) - Part.1 创建X509证书,并获取证书密钥的一点研究 Url重写 asp.net中数据校验部分的封装与应用 SQL Server 索引结构及其使用(一) asp.net2.0导出pdf文件完美解决方案 Web Service 中的身份验证策略--使用自定义SOAP 标题 WebService中使用自定义类的解决方法(5种) Web Service Authentication + MD5 [from] MS-SQL数据库开发常用汇总和t-sql技巧集锦 [原创] 如何追踪每一笔记录的来龙去脉:一个完整的Audit Logging解决方案—Part I 通用异常处理框架 如何使用.NET配置文件(转载)
ASP.NET 2.0加密Web.config 配置文件
博客人 · 2007-05-24 · via 博客园 - 博客人

可以使用受保护配置来加密 Web 应用程序配置文件(如 Web.config 文件)中的敏感信息(包括用户名和密码、数据库连接字符串和加密密钥)。对配置信息进行加密后,即使攻击者获取了对配置文件的访问,也可以使攻击者难以获取对敏感信息的访问,从而改进应用程序的安全性。

针对asp.net 2.0的应用程序的数据库链接字符串进行加密:例如,未加密的配置文件中可能包含一个指定用于连接到数据库的连接字符串的节,如下面的示例所示:

<configuration>

 <connectionStrings>

    <add name="SampleSqlServer" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" />

   </connectionStrings>

</configuration>

ASP.NET 2.0 中有一个新的安全特性.可以对 Web.config 文件中的任何配置节进行加密处理,可以通过手工运行工具aspnet_regiis或者编程来完成这个工作。如果你可以直接访问你的Web 服务器,你可以通过运行如下的命令行:

 cd %windows%\Microsoft.NET\Framework\versionNumber

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" –prov RsaProtectedConfigurationProvider

-pd section

 对配置节进行解密。此参数采用下面的可选参数:

·         -app virtualPath   指定应该在包含路径的级别进行解密。

·         -location subPath   指定要解密的子目录。

·         -pkm   指定应该对 Machine.config 而非 Web.config 文件进行解密。

-pdf section webApplicationDirectory

 对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行解密。

-pe section

 对指定的配置节进行加密。此参数采用下面的可选修饰符:

·         -prov provider   指定要使用的加密提供程序。

·         -app virtualPath    指定应该在包含路径的级别进行加密。

·         -location subPath   指定要加密的子目录。

·         -pkm   指定应该对 Machine.config 而非 Web.config 文件进行加密。

-pef section webApplicationDirectory

 对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行加密。

如果你是使用虚拟主机等不能访问物理的服务器,你仍然能够通过编程方式加密的连接字符串:

1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);

2 ConfigurationSection section = config.Sections["connectionStrings"];

3 section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");;

4 config.Update ();

现在, 使用受保护配置对连接字符串值进行加密的配置文件不以明文形式显示连接字符串,而是以加密形式存储它们,如下面的示例所示:

<configuration>

 <connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">

    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"

      xmlns="http://www.w3.org/2001/04/xmlenc#">

      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />

      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">

        <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">

          <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />

          <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">

            <KeyName>RSA Key</KeyName>

          </KeyInfo>

          <CipherData>

            <CipherValue>RXO/zmmy3sR0iOJoF4ooxkFxwelVYpT0riwP2mYpR3FU+r6BPfvsqb384pohivkyNY7Dm4lPgR2bE9F
7k6TblLVJFvnQu7p7d/yjnhzgHwWKMqb0M0t0Y8DOwogkDDXFxs1UxIhtknc+2a7UGtGh6D

i3N572qxdfmGfQc7ZbwNE=

            </CipherValue>

          </CipherData>

        </EncryptedKey>

      </KeyInfo>

      <CipherData>

        <CipherValue>KMNKBuV9nOid8pUvdNLY5I8R7BaEGncjkwYgshW8ClKjrXSM7zeIRmAy/cTaniu8Rfk92KVkEK83
+UlQd+GQ6pycO3eM8DTM5kCyLcEiJa5XUAQv4KITBNBN6fBXsWrGuEyUDWZYm6Eijl8DqRDb

11i+StkBLlHPyyhbnCAsXdz5CaqVuG0obEy2xmnGQ6G3Mzr74j4ifxnyvRq7levA2sBR4lhE5M80Cd5yKEJktcPWZYM
99TmyO3KYjtmRW/Ws/XO3z9z1b1KohE5Ok/YX1YV0+Uk4/yuZo0Bjk+rErG505YMfRVtxSJ4ee418

ZMfp4vOaqzKrSkHPie3zIR7SuVUeYPFZbcV65BKCUlT4EtPLgi8CHu8bMBQkdWxOnQEIBeY+TerAee/SiBCrA8M/n
9bpLlRJkUb+URiGLoaj+XHym//fmCclAcveKlba6vKrcbqhEjsnY2F522yaTHcc1+wXUWqif7rSIPhc0+

MT1hB1SZjd8dmPgtZUyzcL51DoChy+hZ4vLzE=

        </CipherValue>

      </CipherData>

    </EncryptedData>

 </connectionStrings>

更详细信息请参看MSDN: 受保护配置概述的相关章节。