在App.config中加密配置组System.ServiceModel

时间:2010-06-22 22:41:51

标签: wcf app-config dpapi

我们正在部署客户端应用程序,需要加密system.serviceModel配置组。我一直在搜索StackOverflow,以获得最好的方式,并且大多数响应都是“将app.config重命名为web.config,使用ASP.NET实用程序加密,并部署”或“覆盖”用于保护“。

部分的安装方法

我们正在使用ClickOnce,因此基于每个用户安装应用程序,因此我们可能会按用户使用DPAPI。

我知道如何通过Protect / Unprotect部分加密/解密部分,但我无法找出最好的地方来调用它们。

黑暗中的一些镜头:

安装时调用保护,在应用启动时取消保护,并在应用关闭时保护。

安装时调用保护,自动完成unprotect。这让我感到困惑,因为我无法找到DPAPI发挥其魔力的基本方式,我不相信我不理解的东西。

1 个答案:

答案 0 :(得分:1)

为什么需要在应用启动时专门“取消保护”? .NET将透明地为您解密这些条目。

基本上是这样的:

  • 在该计算机上安装时加密该文件
  • 像往常一样使用它!

没有必要继续解密.NET配置部分 - .NET将根据需要执行此操作。这样,您可以将MyApp.exe.config完全或部分加密,保留在磁盘上,并且仅在内存中,您将有一些被解密的条目。

查看Jon Galloway关于此主题的blog post