Лучший способ зашифровать app.config для использования на другом компьютере - PullRequest
1 голос
/ 29 апреля 2020

Я знаю, что подобные вопросы задавались несколько раз, но я не мог найти ответ, рассказывающий о плюсах и минусах доступных методов. У меня есть приложение winforms, которое я хочу развернуть для клиентов по всему миру. Я использую диалог настройки (InstallShield). Я хочу защитить свои строки подключения в app.config.

До сих пор я тестировал следующие методы, и они оба работали для меня (простой тест без использования диалога установки). Есть ли предпочтительный, и действительно ли это все еще стандартный способ go?

Я проверил эти 2 подхода:

  1. Запустите aspnet_regiis: Пример MSDN
    • переименование app.config в web.config
    • шифрование конфигурации на компьютере разработчика,
    • переименование web.config в app.config
    • Экспорт ключа в качестве ключей. xml.
    • Импорт ключей. xml на компьютере клиента: запустите aspnet_regiis на компьютере клиента.
    • удалите ключ
  2. configSection.SectionInformation.ProtectSection ( "DataProtectionConfigurationProvider"); пример
    • Конфигурация должна быть зашифрована с помощью программы / кода на стороне клиента
    • может быть легко сделано в диалоге установки

Метод 2 кажется мне очень небезопасным, поскольку я могу скопировать зашифрованный файл .config и расшифровать его с помощью другой программы, вызывающей UnprotectSection ().

Для способа 1 требуется IIS, но он мне кажется относительно безопасным, если ключи не извлечены. xml. Я надеюсь, что это может быть реализовано в диалоге установки.

Есть ли какие-то недостатки, которые я упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...