Расшифровать (только) раздел строки подключения в Winforms app.config - PullRequest
0 голосов
/ 30 июля 2009

Хорошо, я знаю, что об этом спрашивали тысячу раз, но окончательного решения не было найдено ... так что вот еще один действительно глупый вопрос!

У меня есть приложение Winforms 3.5 и использующее LINQ to SQL, поэтому строка подключения ВСЕГДА хранится в "app.config" по умолчанию (и VS2008 не примет никакого другого способа хранения этого - Ive даже попытался переписать это в сгенерированном IDE коде). При этом любому человеку, обладающему небольшим компьютерным ноу-хау, необходимо просто перейти в каталог установки приложения, найти файл [appname] .exe.config и открыть его, чтобы открыть Предположительно безопасный имя пользователя / пароль для доступа к базе данных. Даже если вы решите зашифровать / расшифровать этот раздел, это будет сделано только во время работы приложения, поэтому я предполагаю, что когда приложение закрыто, раздел connString возвращается к обычному тексту ..., который можно снова прочитать. (.... как ты побеждаешь?!?!)

Учитывая, что я использую LINQ и генерирую LinqDataContext, я хотел бы знать следующее:

  1. Может ли connstring не храниться где-либо еще, кроме app.config? (возможно, как в пользовательском файле настроек, который можно изменить после установки)
  2. Если вышеизложенное возможно, я не могу сохранить предварительно зашифрованную connstring в файле конфигурации (который, безусловно, не сможет быть прочитан) и в моем приложении, разрешать только дешифрование connstring всякий раз, когда соединение открыто?

Если ничего из этого не возможно, мне, возможно, придется вернуться к использованию традиционного ADO.NET (видя, что у меня уже есть сотни сохраненных процедур для всех операций CRUD) - по крайней мере, таким образом я смогу контролировать, как и где connstring сохраняется.

Кстати - извините, если это ювенильный / запутанный вопрос, и если вы чувствуете, что я не прав в чем-то, что объясняю, пожалуйста, дайте мне знать.

Большое спасибо!

1 Ответ

0 голосов
/ 14 сентября 2009

Вы можете сохранить предварительно зашифрованную conn-строку в app.config, но я думаю, что это будет бесполезно, поскольку ваше приложение рано или поздно расшифрует conn-строку (и простой текст будет доступен всем, кто заинтересован !)

Таким образом, вы также должны получить сертификат SSL ... (не самоподписанный)

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