Я получаю следующую ошибку при попытке получить доступ к веб-службе, которая использует (по временным причинам) зашифрованную запись system.web/identity
:
Не удалось расшифровать с помощью поставщика DataProtectionConfigurationProvider. Сообщение об ошибке от провайдера: Не удалось открыть контейнер ключа RSA.
Я выполнил шаги, найденные в комментариях на http://blogs.msdn.com/mosharaf/archive/2005/11/17/protectedConfiguration.aspx,, и вот шаги, которые я сделал:
- Добавлено "xmlns =" http://schemas.microsoft.com/.NetConfiguration/v2.0"" в атрибут конфигурации в web-сервисе web.config
- Создать контейнер, используя
aspnet_regiis -pc "DataProtectionConfigurationProviderKeys" -exp
- Добавлено следующее в web.config:
<configProtectedData>
<providers>
<clear />
<add name="DataProtectionConfigurationProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,processorArchitecture=MSIL"
keyContainerName="DataProtectionConfigurationProviderKeys"
useMachineContainer="true" />
</providers>
</configProtectedData>
- Предоставлен доступ к контейнеру ключей для учетной записи IIS, работающей под:
aspnet_regiis -pa "DataProtectionConfigurationProviderKeys" "eca\iusr_xxxxx"
. Я также предоставил доступ к олицетворенной учетной записи (например, в атрибуте identity) с помощью той же команды.
- Затем я зашифровал запись system.web / identity:
aspnet_regiis -pef "system.web/identity" "C:\ddrive\EcaDevelopment\EcaApplicationsNet2\Projects\TASV2\Mainline\src\TASV2.WordToPdf.WebSvc" -prov "DataProtectionConfigurationProvider"
Но, когда я пытаюсь запустить свой тестовый жгут с веб-сервисом, я получаю:
Failed to decrypt using provider 'DataProtectionConfigurationProvider'. Error message from the provider: The RSA key container could not be opened.
Что я пропустил? Могу ли я на самом деле зашифровать только тег идентификации? Я могу зашифровать и использовать строки подключения без проблем ...