Я знаю, что подобные вопросы задавались несколько раз, но я не мог найти ответ, рассказывающий о плюсах и минусах доступных методов. У меня есть приложение winforms, которое я хочу развернуть для клиентов по всему миру. Я использую диалог настройки (InstallShield). Я хочу защитить свои строки подключения в app.config.
До сих пор я тестировал следующие методы, и они оба работали для меня (простой тест без использования диалога установки). Есть ли предпочтительный, и действительно ли это все еще стандартный способ go?
Я проверил эти 2 подхода:
- Запустите aspnet_regiis: Пример MSDN
- переименование app.config в web.config
- шифрование конфигурации на компьютере разработчика,
- переименование web.config в app.config
- Экспорт ключа в качестве ключей. xml.
- Импорт ключей. xml на компьютере клиента: запустите aspnet_regiis на компьютере клиента.
- удалите ключ
- configSection.SectionInformation.ProtectSection ( "DataProtectionConfigurationProvider"); пример
- Конфигурация должна быть зашифрована с помощью программы / кода на стороне клиента
- может быть легко сделано в диалоге установки
Метод 2 кажется мне очень небезопасным, поскольку я могу скопировать зашифрованный файл .config и расшифровать его с помощью другой программы, вызывающей UnprotectSection ().
Для способа 1 требуется IIS, но он мне кажется относительно безопасным, если ключи не извлечены. xml. Я надеюсь, что это может быть реализовано в диалоге установки.
Есть ли какие-то недостатки, которые я упускаю?