2010-06-22 78 views
1

我們正在部署一個客戶端應用程序,並且需要加密system.serviceModel配置組。我一直在尋找StackOverflow以獲得一天中最好的一部分,並且大多數響應都是「將app.config重命名爲web.config,使用ASP.NET實用程序進行加密並部署」或「覆蓋保護各部分的安裝方法「。加密App.config中的配置組System.ServiceModel

我們正在使用ClickOnce,所以應用程序按用戶安裝,因此我們可能會爲每個用戶使用DPAPI。

我知道如何通過Protect/Unprotect部分加密/解密部分,但我無法找出調用這些部分的最佳位置。

在黑暗中的一些鏡頭:上安裝

呼叫保護,取消保護的應用程序啓動和保護上的應用程序關閉。

在安裝時調用保護,解除保護是自動完成的。這讓我感到困惑,因爲我無法找到DPAPI發揮其魔力的基本方式,而且我不相信我不瞭解的東西。

回答

1

爲什麼您需要在應用程序啓動時專門「取消保護」? .NET將爲您透明地解密這些條目。

所以基本上:上安裝這臺機器上的文件是要駐留在

  • 使用它,就像總是

    • 加密!

    沒有必要繼續解密.NET配置部分--.NET將根據需要執行此操作。這樣,您可以將您的MyApp.exe.config完全或部分加密,保留在磁盤上,並且僅在內存中,您將擁有一些已解密的條目。

    查看Jon Galloway的主題blog post

  • +0

    基本上我想知道的是DPAPI如何做到了它的魔力以及如何確保魔術對我有用。該鏈接非常有幫助。它錯誤鍵入,但你粘貼兩次:)我調試它... http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config- file.aspx – 2010-06-23 14:15:42

    +0

    @Nate Noonen:謝謝 - 修正了鏈接 – 2010-06-23 14:46:02