2012-07-08 62 views
0

我有一個與app.config文件一起提供的C#應用​​程序。該應用程序構建在構建服務器上並部署到多個用戶。
我想加密app.config,但我不確定何時這樣做:如果我在構建完成後立即執行此操作,加密是否將取決於構建服務器憑據?應用程序如何在其他機器上解密?如果我在用戶機器上進行加密,那麼當app.config不受保護時,這不會留下時間嗎?什麼時候應該加密我的配置文件?

感謝

編輯:
我用DPAPI考慮。它使用用戶的憑證進行加密和解密。這就是爲什麼我認爲我可能在向用戶傳送加密文件時遇到問題。

+1

當你也在向相同的用戶提供解密的方法時,你應該*不會*加密文件。聽起來像你需要在這裏實施一項服務,以防止「邪惡」手中的代碼。 – 2012-07-08 09:42:27

+0

需要加密的明智信息不應進入配置文件 – GETah 2012-07-08 09:43:19

+0

但是,連接字符串不應該去那裏嗎? – Noich 2012-07-08 09:46:43

回答

1

我剛纔讀的除了你的工作,我不認爲你真的需要加密所有...

你說你打算使用加密將系統/解密基於用戶的證書。這意味着兩件事:

  1. 您不會在構建過程中進行加密; 不能在構建期間使用這種系統,出於同比指出的原因。
  2. 對於有權訪問數據的用戶,您似乎沒有問題。在這種情況下,你根本不應該使用配置,但你應該提示他們輸入登錄信息(也許可以在以後重新使用時安全地保存它)或者只是使用他們的Windows /域登錄名。

無論哪種方式,你並不需要對文件進行加密,以保護它......你只需要存儲的登錄信息,或其他配置信息,如用戶設置,而不是配置,這是所有用戶都可以閱讀。

+0

從我一直在閱讀的內容來看,加密連接字符串是很常見的做法,難道不是嗎? 我也計劃在那裏存儲多個連接字符串,我不希望用戶編輯它們。 – Noich 2012-07-08 11:08:29

+0

這往往是毫無意義的做法。如果您試圖隱藏用戶的信息,請不要這樣做。因爲它只是將它從那些無論如何不在乎的人隱藏起來。至於讓他們不要編輯它......嗯......加密對於這個目標沒有任何作用。一點都沒有。雖然,正確的文件權限可以。 (普通用戶不應該在程序的安裝目錄中擁有寫權限。 – 2012-07-08 11:12:48

相關問題