Как зашифровать строку подключения app.config и запустить приложение от имени пользователя? - PullRequest
0 голосов
/ 10 декабря 2018

Предположим, что приложение является console application и должно запускаться как cron job under domain\user.Строка соединения app.config должна быть зашифрована.Следующие команды были выполнены из командной строки администратора.

  • Создать новый KeyContainer как экспортируемый aspnet_regiis.exe -pc "SecureKeys" -exp

  • Предоставить разрешения домену \ пользователю для контейнера ключей aspnet_regiis.exe -pa "SecureKeys" "domain\user

  • Включить в app.config

    <configProtectedData>  
     <providers>  
        <add keyContainerName="SecureKeys"  
                 useMachineContainer="false"  
                 name="EncryptionProvider"  
                 type="System.Configuration.RsaProtectedConfigurationProvider"/>  
       </providers>  
     </configProtectedData>
    
  • Шифровать строку подключения aspnet_regiis.exe -pef CustomConfig . -prov EncryptionProvider

При попытке запустить консольприложение как домен / пользователь выдает следующую ошибку:

"Не удалось расшифровать с помощью провайдера 'RsaProtectedConfigurationProvider'. Сообщение об ошибке от провайдера: не удалось открыть контейнер ключа RSA."

Есть идеи, в чем проблема?

...