2008-09-10 4 views
14

Я разрабатываю веб-приложение, которое требует, чтобы имя пользователя и пароль сохранялись в web.Config, это также относится к некоторым URL-адресам, которые будут запрашиваться самим веб-приложением, а не клиентом.Шифрование appSettings в web.config

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

Все, что я прочитал до сих пор, требует от меня использования командной строки или сохранения значений в реестре сервера. У меня есть доступ к ни одному из них, поскольку хост подключен к сети, и у меня есть только доступ к FTP и панели управления (рулем).

Может ли кто-нибудь рекомендовать какие-либо хорошие, бесплатные библиотеки DLL или методы шифрования, которые я могу использовать? Я бы предпочел не развивать свою собственную!

Спасибо за отзывы до сих пор ребята, но я не могу выдавать команды и не могу редактировать реестр. Его придется использовать для шифрования util/helper, но просто интересно, какой из них!

ответ

19

EDIT ScottGu в:
Если вы не можете использовать осины утилиту, вы можете зашифровать конфигурационный файл с помощью метода SectionInformation.ProtectSection.

образца на CodeProject:

Encryption of Connection Strings inside the Web.config in ASP.Net 2.0

+0

Aku, К сожалению, эти ссылки относятся к командной строке, я не могу использовать их, поскольку у нас нет прямого доступа к командной строке. Если я должен был зашифровать его на своей собственной машине, а затем развернуть его на сервере, он не будет работать, поскольку ключ не будет существовать/быть другим – Mauro 2008-09-10 14:37:15

0

Хотя на первый взгляд, кажется, просто, есть несколько препятствий, я столкнулся.

Так я обеспечиваю шаги, которые работали хорошо для меня (для шифрования AppSettings раздела) с помощью поставщика крипта по умолчанию:

Зашифровать разделов в web.config:

  1. Open Командная оболочка администратора (запустите с правами администратора!). Командная строка будет указана на C:, которая предполагается для следующих шагов.
  2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319, на 32-битной системы Windows, используют Framework вместо Framework64
  3. изменения в D:
  4. cd D:\Apps\myApp
  5. c:aspnet_regiis -pef appConfig .

Вы должны увидеть это сообщение:

Microsoft (R) ASP.NET RegIIS версия 4.0.30319.0 Утилита администрирования для установки и удаления ASP.NET на локальном компьютере. Авторское право (C) Корпорация Microsoft. Все права защищены. Шифрование конфигурации раздела ... Преемник!

Вы также можете Расшифровать секции в web.config: Это те же самые шаги, но с опцией -pdf вместо -pef для aspnet_regiis.