Расшифровать зашифрованное значение с помощью DPAPI

У меня есть зашифрованное значение, и я попытался расшифровать его с помощью asp_regiis.exe.

<configuration>
<connectionStrings 
    configProtectionProvider="DataProtectionConfigurationProvider">
  <EncryptedData>
    <CipherData>
      <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl....fK39sbTH</CipherValue>
    </CipherData>
  </EncryptedData>
</connectionStrings>
</configuration>

Когда я запускаю эту команду:

aspnet_regiis.exe -pdf "connectionStrings" "C:\Users\Test" 

У меня есть эта ошибка:

Расшифровка раздела конфигурации...

Не удалось расшифровать с помощью поставщика «DataProtectionConfigurationProvider». Сообщение об ошибке от провайдера:

Data at the root level is invalid. Line 1, position 1.
Failed!

Что кажется неправильным в этом? Мне нужно найти расшифрованное значение. Пожалуйста, порекомендуйте.


person Gilbert    schedule 12.07.2016    source источник
comment
как вы шифровали данные? потому что шифрование может быть на уровне компьютера или на уровне пользователя   -  person Thomas    schedule 12.07.2016
comment
На самом деле я не знаю, как данные были зашифрованы. Он был зашифрован разработчиком несколько лет назад, и нам нужно изменить его сейчас, так как мы меняем нашу базу данных.   -  person Gilbert    schedule 12.07.2016
comment
Я просто хочу знать, как я могу узнать значение этих зашифрованных данных и как я могу ввести/поместить новое зашифрованное значение для нашей новой базы данных.   -  person Gilbert    schedule 12.07.2016
comment
если он был зашифрован на уровне компьютера, вы можете использовать этот ответ stackoverflow.com/questions/34194223/. В противном случае, если данные были зашифрованы на уровне пользователя, вам необходимо расшифровать данные, используя ту же учетную запись пользователя.   -  person Thomas    schedule 12.07.2016
comment
если вам не нужно расшифровывать данные, вы можете посмотреть эту статью msdn.microsoft. com/en-us/library/ff647398.aspx   -  person Thomas    schedule 12.07.2016
comment
Спасибо @Томас. Я попробую ваше первое предложение выше. В следующем комментарии я уже пытался зашифровать новую базу данных и заменил значение connString новыми зашифрованными данными. Но я столкнулся с этой ошибкой при доступе к сайту.   -  person Gilbert    schedule 12.07.2016
comment
Вот ошибка, когда я попытался получить доступ к сайту... Идентификатор ошибки: 421a46fd-2690-4480-a6cb-0794f07f95e3 Тип ошибки: пять - ex.InnerException IsNot Nothing Сообщение об ошибке: Произошло необработанное исключение.   -  person Gilbert    schedule 12.07.2016
comment
Ошибка InnerException: System.Reflection.TargetInvocationException: Исключение было вызвано целью вызова. ---› System.InvalidOperationException: веб-серверу не удалось связаться с сервером федерации. в System.Web.Security.SingleSignOn.WSPersistentState.GetPersistentInfo(TrustedRealm&trustedRealm, String& fsAccountName) в System.Web.Security.SingleSignOn.WebSsoAuthenticationModule.AuthenticateWithWSFederationPassive() в System.Web.Security.SingleSignOn.ArgssoAuthenticationObjectModule.OnAuthenticateWithWSFederationPassive() args) — Конец внутренней трассировки стека исключений   -  person Gilbert    schedule 12.07.2016
comment
@ Томас Извините за это ..   -  person Gilbert    schedule 12.07.2016
comment
Новое зашифрованное значение было помещено в этот раздел: ‹appSettings› ‹добавить ключ=CommandTimeOut значение=31 /› ‹добавить ключ=ApplicationName значение=Arch /› ‹добавить ключ=EnableDatabaseAuditing значение=False /› ‹добавить ключ=LastTransactionIDParameterName значение= LastTransactionID /› ‹добавить ключ=CurrentDateTimeDB значение=ArchRefDataDB /› ‹добавить ключ=connString значение=AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAKGHR..........   -  person Gilbert    schedule 12.07.2016
comment
Значение connstring было вызвано в коде позади через: Dim dtaRetriever As DataRetriever = New DataRetriever() connString = dtaRetriever.GetAppSettingKey(connString)   -  person Gilbert    schedule 12.07.2016
comment
Любой, кто может помочь мне в этом?   -  person Gilbert    schedule 14.07.2016