Ответ 1
У меня была аналогичная проблема, и когда я попытался запустить ее из командной строки с повышенными привилегиями ( "запустить как администратор" ), проблема была решена.
Мне нужно зашифровать некоторые части веб-конфигурации. Прочитав некоторые уроки, я узнал, что использование инструмента 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!
У меня была аналогичная проблема, и когда я попытался запустить ее из командной строки с повышенными привилегиями ( "запустить как администратор" ), проблема была решена.
Попробуйте следующее:
ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com"
Если раздел, который вы пытаетесь зашифровать, не находится непосредственно под элементом configuration
, вам необходимо указать полный путь к нему.
Сообщение об ошибке "объект не найден" возникает, когда aspnet_regiis работает как пользователь, который не может прочитать контейнер ключа RSA.
Ключи хранятся в папке "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys". Контейнер ключей по умолчанию называется "NetFrameworkConfigurationKey". Убедитесь, что у вас есть разрешение на чтение этого контейнера ключей.
Обратите внимание, что вам необходимо предоставить доступ для чтения к идентификатору, под которым будет запущено ваше приложение. Самый простой способ сделать это - с помощью инструмента aspnet_regiis: aspnet_regiis -pa "NetFrameworkConfigurationKey" "Yourdomain\username".
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"
Я так рад этому сообщению, и я хотел бы подтвердить, как зашифровать строку подключения, а также как ее расшифровать с помощью 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" - установите для этого значение "Никогда не уведомлять" (требуется перезагрузка).
Спасибо, и я хочу, чтобы я мог помочь.
Я тестирую aspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication"
, если не запускается как администратор, он будет иметь ошибку "Объект уже существует". Если вы запускаете его как администратор, он работает.