ASP.NET 2.0加密Web.config 設定檔

來源:互聯網
上載者:User

可以使用受保護配置來加密 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: 受保護配置概述的相關章節。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.