Web.config шифрование / дешифрование - PullRequest
1 голос
/ 16 марта 2010

В моем файле приложения web.config хранится строка подключения. Я зашифровал его, используя

  '---open the web.config file
    Dim config As Configuration = _
       ConfigurationManager.OpenWebConfiguration( _
       Request.ApplicationPath)
    '---indicate the section to protect
    Dim section As ConfigurationSection = _
       config.Sections("connectionStrings")
    '---specify the protection provider
    section.SectionInformation.ProtectSection(protectionProvider)
    '---Apply the protection and update
    config.Save()

Теперь я могу расшифровать его, используя код

   Dim config As Configuration = _
       ConfigurationManager.OpenWebConfiguration( _
       Request.ApplicationPath)
    Dim section As ConfigurationSection = _
       config.Sections("connectionStrings")
    section.SectionInformation.UnProtectSection()
    config.Save()

Я хочу знать, где хранится ключ, а также, если каким-то образом будет украден мой файл web.config, сможет ли он / она расшифровать его с помощью приведенного выше кода.

1 Ответ

3 голосов
/ 16 марта 2010

Пользовательские ключи хранятся в:

[Letter]:\Documents and Settings\[User]\Application Data\Microsoft\Crypto\RSA

Ключи машины находятся в:

[Letter]:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys

Если у кого-то есть файл и ключи, тогда да, они смогут расшифровать. Если только файл, нет, они не смогут.

Кроме того, если они расшифровывают с использованием одного и того же кода на одном и том же сервере, то да. Тем не менее, если они достигнут вашего сервера, все кончится.


РЕДАКТИРОВАТЬ, чтобы добавить в ответ из комментариев:

  • В: Если я скопирую ключ и вставлю его в другой компьютер вместе с web.config, будет ли он расшифрован?
  • A: Если я не ошибаюсь, ключ будет работать только на этом компьютере, если вы не выполните импорт / экспорт. Однако, как я уже сказал, если кто-то получил доступ, сделайте это, вы уже будете «мёртвыми в воде», так как взломанный сервер будет разрушительным.

  • В: Я создал еще одно веб-приложение и зашифровал его. Я вижу, что новый ключ там не создается. Использовал ли он тот же ключ для второго приложения?

  • A: Насколько я знаю, да. Насколько мне известно, ключи генерируются для каждой машины и для каждого пользователя.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...