locked
Web.config 加密問題 RRS feed

  • 問題

  • 不好意思,我想請教大家一個可能很笨的問題。或許已經有人問過了,不過我剛才找了半天也沒有找到,所以請多包涵。

     

    是這樣的,我們公司使用 VSTS 在開發 ASP.NET 2.0 網站;我最近開始想對 Web.config 中某些區段進行加密。不過我忽然想到,如果我在我的機器上對 Web.config 加密,在其它機器上(尤其是發行之後的 Web Server)上會不會出現無法解密的問題呢?因為不同機器的金鑰會不會不一樣?謝謝!

    2007年5月29日 上午 09:46

解答

  • 如果你要在多人環境下加密,那就要確保解密金鑰是同一支。

    除非可以用非對稱金鑰加密法(公司本身有 PKI 架構),不然通常都會用對稱加密法。

     

    對稱加密法的加解密都用同一把金鑰如果這個金鑰掉了,想像一下會有多少人用怨恨的眼光看著你吧。

    Windows 的 EFS 檔案系統就是用對稱金鑰做的加密。

     

    不過,通常像連線字串或密碼這些東西,我習慣 Web Application 所在的 Registry 中。

    2007年5月29日 上午 10:16

所有回覆

  • 小朱大大,你提供的文章我已經完全看過了。不過我並不是在問如何加密,那個我早已經會了。

     

    我要問的是,我在多人開發環境下要如何加密的問題... 謝謝囉!

    2007年5月29日 上午 10:02
  • 如果你要在多人環境下加密,那就要確保解密金鑰是同一支。

    除非可以用非對稱金鑰加密法(公司本身有 PKI 架構),不然通常都會用對稱加密法。

     

    對稱加密法的加解密都用同一把金鑰如果這個金鑰掉了,想像一下會有多少人用怨恨的眼光看著你吧。

    Windows 的 EFS 檔案系統就是用對稱金鑰做的加密。

     

    不過,通常像連線字串或密碼這些東西,我習慣 Web Application 所在的 Registry 中。

    2007年5月29日 上午 10:16
  • 太好了。我想這就是我想問的。不過,能否再次請教,我如何取出 Web Server 的金鑰,並強迫其它開發端機器通通使用這把固定的金鑰呢?
    2007年5月29日 上午 10:21
  • 2007年5月29日 上午 10:28
  • 我並不需要做這種加密;我需要的是拿網站主機的金鑰來取代各開發機器的金鑰以對 Web.config 中的 Connection Strings 區段加密...

     

    沒關係,還是感謝小朱大大,我會再找其它解決方式的。

    2007年5月30日 上午 01:05
  • 雖然是有點古老的問題,不過我最近在研究web.config加密的問題,看起來按照這篇講的http://msdn.microsoft.com/en-us/library/2w117ede(v=VS.90).aspx應該就可以把key file運來運去吧。產生一個key,然後匯出key file讓所有人都匯入到機器,包括production server,然後指定web.config使用此key進行加解密,這樣就保證都一樣。那個technet的文章已經不在了,不知道是不是講同一件事。 其實key file真的掉了我覺得也還好,因為我假設source control裡面應該會存有尚未加密的web.config,所以真的掉了,那就重新產生新的key重新加密,而且因為設定完成後IIS是自動進行解密,所以key file掉了最多就是新建的機器上無法加解密 (已經匯入過的機器不需要那個key file就可以加解密)。
    2011年6月7日 上午 06:04