Не удалось зашифровать раздел 'connectionStrings' с помощью поставщика 'RsaProtectedConfigurationProvider

Не удалось зашифровать раздел 'connectionStrings' с помощью поставщика 'RsaProtectedCo nfigurationProvider'. Сообщение об ошибке от провайдера: объект уже существует.

Я следовал руководству в http://msdn.microsoft.com/en-us/library/2w117ede.aspx но на шаге 3 в разделе Предоставление доступа удостоверений ASP.NET к контейнеру ключей RSA говорится, что моя личность - это мое рабочая группа \ имя пользователя, хотя в моем файле web.config нет олицетворения

Я зашифровываю web.config, используя мой компьютер, используя asp_regiis, затем использую Visual Studio для отладки, затем он пришел с этой ошибкой

4 ответа

Для использования RsaProtectedConfigurationProvider вам необходимо запустить командную строку или Visual Studio в качестве администратора.

Для DataProtectionConfigurationProvider не требуется запускаться с правами администратора.

Вы можете создать своего собственного провайдера, используя RsaProtectedConfigurationProvider для шифрования вашего web.xml без прав администратора.

  1. Создайте хранилище ключей:

    aspnet_regiis -pc "MyKeyStore" -exp

  2. Предоставить доступ на чтение любому пользователю:

    aspnet_regiss -pa "MyKeyStore" "Домен / Пользователь"

  3. Поместите раздел провайдера в ваш web.config

    <configProtectedData>
    <providers>
        <add name="MyRSAProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0,&#xD;&#xA; Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a,&#xD;&#xA; processorArchitecture=MSIL"keyContainerName="MyKeyStore"useMachineContainer="true" />
    </providers>
    </configProtectedData>
    
  4. Зашифруйте ваши разделы конфигурации:

    aspnet_regiis -pef "configSection" "c: \ pathToWebConf" -prov "MyRSAProvider"

Источники:

Создать контейнер ключей RSA и провайдера

Зашифровать конфигурацию

Это произошло на одном из моих серверов, когда я пытался переместить веб-приложения с диска c на другой диск.

Поскольку я зашифровал раздел web.config на диске C и переместил его на другой диск, он заклинило провайдера, из-за чего он не смог зашифровать раздел, поскольку считает, что он уже существует.

Я все еще пытаюсь это исправить.

      aspnet_regiis.exe -pef "connectionStrings" C:\Users\pvdmnu\Projects\MMWebUI\MMPvidon.ASP\StudyASP -prov "DataProtectionConfigurationProvider"

Необходимо указать предоставление, на моем компьютере нет прав администратора.

Другие вопросы по тегам