Зашифруйте группу конфигурации System.ServiceModel в App.config - PullRequest
1 голос
/ 23 июня 2010

Мы развертываем клиентское приложение и должны зашифровать группу конфигурации system.serviceModel. Я искал в StackOverflow лучшую часть дня, чтобы найти лучший способ сделать это, и большинство ответов были "переименуйте app.config в web.config, зашифруйте с помощью утилиты ASP.NET и разверните" или "переопределите Способ установки для защиты разделов ".

Мы используем ClickOnce, поэтому приложение устанавливается для каждого пользователя, поэтому мы, вероятно, будем использовать DPAPI для каждого пользователя.

Я знаю, как зашифровать / дешифровать разделы через раздел Защитить / Снять защиту, но я не могу найти лучшее место для их вызова.

Несколько снимков в темноте:

Вызовите защиту при установке, снимите защиту при запуске приложения и защитите при закрытии приложения.

Вызовите защиту при установке, снятие защиты выполняется автоматически. Это смущает меня, так как я не могу найти основные способы, которыми DPAPI делает свое волшебство, и я не доверяю тому, чего не понимаю.

1 Ответ

1 голос
/ 23 июня 2010

Зачем вам нужно специально "снимать защиту" при запуске приложения? .NET прозрачно расшифрует эти записи для вас.

Так в основном:

  • шифровать при установке на тот компьютер, на котором будет находиться файл
  • используйте это как всегда!

Нет необходимости продолжать расшифровывать разделы конфигурации .NET - .NET сделает это по мере необходимости. Таким образом, вы можете оставить ваш MyApp.exe.config полностью или частично зашифрованным, на диске и только в памяти, у вас будет несколько расшифрованных записей.

Ознакомьтесь с блогом Джона Галлоуэя на эту тему.

...