Шифрование веб-конфигурации с помощью ASPNET_REGIIS - программирование
Подтвердить что ты не робот

Шифрование веб-конфигурации с помощью ASPNET_REGIIS

Мне нужно зашифровать некоторые части веб-конфигурации. Прочитав некоторые уроки, я узнал, что использование инструмента ASPNET_REGIIS - это путь. Это то, что я пытаюсь на данный момент: Из командной строки

ASPNET_REGIIS -pef "identity" "D:\IIS\admin.mySite.com"

"Конфигурационный раздел" system.web\identity "не найден."


ASPNET_REGIIS -pef "system.web\identity" "D:\IIS\admin.mySite.com"

"Раздел конфигурации" system.web\identity "не найден".


ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com"

"Не удалось зашифровать раздел" system.web/identity ", используя сообщение" RsaProtectedConfigurationProvider "поставщика" Сообщение об ошибке от поставщика: объект уже существует ".


Чтобы проверить, правильно ли я прав, я попробовал следующее:

ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com"

"Не удалось зашифровать раздел" connectionStrings ", используя провайдер" RsaProtectedConfigurationProvider "Сообщение об ошибке от поставщика: Object уже существует".


ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com"

"Не удалось зашифровать раздел" connectionStrings ", используя провайдер" RsaProtectedConfigurationProvider "Сообщение об ошибке от поставщика: Object уже существует".


ASPNET_REGIIS -pef "DoesNotExist" "D:\IIS\admin.mySite.com"

"Конфигурационный раздел" DoNotExist "не найден".


Help!

4b9b3361

Ответ 1

У меня была аналогичная проблема, и когда я попытался запустить ее из командной строки с повышенными привилегиями ( "запустить как администратор" ), проблема была решена.

Ответ 2

Попробуйте следующее:

ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com"

Если раздел, который вы пытаетесь зашифровать, не находится непосредственно под элементом configuration, вам необходимо указать полный путь к нему.

Ответ 3

Сообщение об ошибке "объект не найден" возникает, когда aspnet_regiis работает как пользователь, который не может прочитать контейнер ключа RSA.

Ключи хранятся в папке "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys". Контейнер ключей по умолчанию называется "NetFrameworkConfigurationKey". Убедитесь, что у вас есть разрешение на чтение этого контейнера ключей.

Обратите внимание, что вам необходимо предоставить доступ для чтения к идентификатору, под которым будет запущено ваше приложение. Самый простой способ сделать это - с помощью инструмента aspnet_regiis: aspnet_regiis -pa "NetFrameworkConfigurationKey" "Yourdomain\username".

Ответ 4

1- Запустите cmd как администратор 2- перейдите в папку командной строки aspnet_regiis.exe

3-Чтобы зашифровать:  aspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication" -prov "DataProtectionConfigurationProvider

4-To Расшифровать:  aspnet_regiis.exe -pdf "connectionStrings" "C:..\YourApplication"

Ответ 5

Я так рад этому сообщению, и я хотел бы подтвердить, как зашифровать строку подключения, а также как ее расшифровать с помощью ASPNET_REGIIS Инструмент:

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

aspnet_regiis.exe -pef "connectionStrings" "D:\ProjectAcc"

Для расшифровки:

aspnet_regiis.exe -pdf "connectionStrings" "D:\ProjectAcc"

N.B:

  • Когда я делаю эту операцию, я обнаружил некоторые проблемы, которые я хотел бы уведомить об этом:

1) Операция шифрования, поданная сначала, потому что я не установил время выполнения ASP.NET для IIS, выполнив следующую команду:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

2), когда я работал над первым выпуском, я получил еще один глупый:), который каждый раз, когда я его устанавливал, я получил эту ошибку:

Произошла ошибка: 0x8007b799 Для запуска этого инструмента у вас должны быть права администратора на этом компьютере.

Решение. Отключение UAC устраняет эту проблему. Из меню "Пуск" > "Панель управления" > "Система и безопасность" > "Центр действий" > "Выбор уровня UAC" - установите для этого значение "Никогда не уведомлять" (требуется перезагрузка).

Спасибо, и я хочу, чтобы я мог помочь.

Ответ 6

Я тестирую aspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication", если не запускается как администратор, он будет иметь ошибку "Объект уже существует". Если вы запускаете его как администратор, он работает.