2012-09-18 82 views
0

如果app.config中的連接字符串已加密且應用程序安裝在Program Files中,我有一個不會運行的應用程序。連接字符串部分作爲後期構建事件加密,因此它已部署已加密。我知道安裝在Program Files時應用程序的功能是有限制的,但我不明白爲什麼這是限制之一。在程序文件中安裝應用程序時加密App.config文件

+1

您使用內置配置加密嗎?這使用當前用戶或當前機器密鑰,使其不可部署。你必須在目標機器上加密它。 –

+0

@JulienLebosquain好的。我誤解了OP的帖子,推斷他加密爲post * install *事件,而不是post * build *事件。 –

+0

@JulienLebosquain啊,謝謝。 – Blade3

回答

3

我懷疑它與更多的處理執行應用程序相關聯的身份暗示的權限,例如對密鑰存儲區的權限或app.config文件本身。

每從@JulienLebosquain觀察,如果配置加密爲後構建事件,特定的機器密鑰將被用來進行加密,從而使其無法恢復任何其他上。要在app.config文件上完成安裝後加密,您必須考慮構建安裝項目並嚮應用程序添加一個安裝程序類,以定義基於主機密鑰執行加密的安裝後事件。

+0

+1問題在這種情況下,他們可以不破解安裝文件或拖延安裝來訪問連接字符串嗎? – Paparazzi

+0

在磁盤上存在未加密配置文件的時間肯定存在。這爲捕獲未加密的數據創造了一個機會,無論簡短如何。如果機器密鑰遭到破壞,或者甚至超出該數據,那麼數據也可能被黑客入侵,如果有人用調試器掛鉤到應用程序中並檢查後解密(除非該字符串與SecureString存儲在一起)。 –

相關問題