Подтвердить что ты не робот

Шифрование Web.Config

Дубликат Шифрование файлов конфигурации для развертывания .NET и Шифрование файлов конфигурации для развертывания


Каков наилучший подход и инструменты для шифрования информации в файле web.config?

4b9b3361

Ответ 1

Я считаю, что есть два способа сделать это:

используя aspnet_regiis, используя DPAPI или RSA, или делает это программно.

Программный способ может быть удобным, особенно если вы также хотите шифровать app.config.

Из моего опыта использования этого, если вы пишете настраиваемый раздел конфигурации, вы устанавливаете DLL, содержащую классы для этого раздела, в GAC. Для проекта, в котором я работал, я в основном написал следующий подход:

  • Скопировать конфигурацию DLL в GAC.
  • Выполните шифрование.
  • Удалить конфигурационную DLL из GAC.

Скорее всего, если вы просто шифруете строки подключения, это не будет проблемой. Вы также должны помнить, хотите ли вы шифровать на машинной основе или на определенную учетную запись пользователя - оба варианта могут быть полезны в зависимости от вашего сценария. Для простоты я придерживался широкого шифрования. Ссылки, которые я привел, объясняют достоинства обоих подходов.

Ответ 2

Вот команды для шифрования файла web.config без программирования...

Для шифрования

aspnet_regiis -pef "Section" "Path exluding web.config"

Для дешифрования

aspnet_regiis -pdf "Section" "Path exluding web.config"

Из этих команд вы можете зашифровать или дешифровать весь раздел.

Ответ 4

Используйте инструмент aspnet_regiis в каталоге framework:

                                        -- CONFIGURATION ENCRYPTION OPTIONS --

pe section            Encrypt the configuration section. Optional arguments:
                      [-prov provider] Use this provider to encrypt.
                      [-app virtual-path] Encrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be encrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.

pd section            Decrypt the configuration section. Optional arguments:
                      [-app virtual-path] Decrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be decrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.

Ответ 6

Используйте инструмент командной строки aspnet_regiis.exe

Вы также можете шифровать и расшифровывать разделы в файле Web.config с помощью средства командной строки aspnet_regiis.exe, которое можно найти в каталоге% WINDOWSDIR%\Microsoft.Net\Framework\version.

Посмотрите здесь: http://aspnet.4guysfromrolla.com/articles/021506-1.aspx.

Ответ 7

Вы можете зашифровать строку Connection в файле web.config по aspnet_regiis.

Шифрование раздела "Строки подключения" в файле Web.Config Вам необходимо выполнить следующие шаги для шифрования раздела "Строки подключения" в файле Web.Config

  1. Откройте командную строку Visual Studio. Вам нужно будет открыть командную строку Visual Studio в меню "Пуск" => Программы => Microsoft Visual Studio 2010 => Visual Studio Tools => Командная строка Visual Studio.

  2. Шифрование раздела "Строки подключения" в Web.Config с помощью инструмента aspnet_regiis.exe

Чтобы зашифровать раздел ConnectionString в файле Web.Config, нам нужно будет использовать инструмент aspnet_regiis.exe.

Синтаксис:

aspnet_regiis.exe -pef "connectionStrings" ""

Пример:

aspnet_regiis.exe -pef "connectionStrings" "D:\Sai\Projects\MyTestWebsite".

Вы можете обратиться к этому документу для получения полной информации: https://microsoftdotnetsolutions.blogspot.com/2018/11/encrypt-and-decrypt-of-connection.html