Ошибка после Encryptingweb.config - PullRequest
       21

Ошибка после Encryptingweb.config

4 голосов
/ 25 апреля 2009

Я зашифровал часть AppSettings моего web.config, протестировал его на своем компьютере, и он работал, но когда я загрузил его для использования в сети, он выдал ошибку:

Ошибка конфигурации Описание: An ошибка произошла во время обработки файла конфигурации, необходимого для обслуживайте этот запрос. Пожалуйста ознакомтесь конкретные подробности ошибки ниже и изменить ваш файл конфигурации соответственно.

Сообщение об ошибке парсера: не удалось расшифровать с помощью провайдера 'DataProtectionConfigurationProvider. Сообщение об ошибке от провайдера: Ключ не подходит для использования в указанном состоянии. (Исключение из HRESULT: 0x8009000B)

Line 24: <appSettings configProtectionProvider="DataProtectionConfigurationProvider">
Line 25:  <EncryptedData>

Я использовал следующую подпрограмму для шифрования:

Private Sub ProtectSection(ByVal sectionName As String, ByVal provider As String)
        Dim config As Configuration = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath)

        Dim section As ConfigurationSection = config.GetSection(sectionName)

        If section IsNot Nothing AndAlso Not section.SectionInformation.IsProtected Then
            section.SectionInformation.ProtectSection(provider)
            config.Save()
        End If
    End Sub

Ответы [ 2 ]

3 голосов
/ 25 апреля 2009

Вам необходимо опубликовать с расшифрованным разделом. Ключ, который используется для шифрования / дешифрования, зависит от компьютера.

Чтобы зашифровать разделы конфигурации в режиме онлайн, вызовите метод ProtectSection () в Application_Start () файла global.asax.

1 голос
/ 25 апреля 2009

Вам нужно установить MachineKey

.net шифрование использует MachineKey в качестве начального числа для шифрования / дешифрования

http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Вам необходимо сгенерировать ключ и использовать его на обеих машинах. Вы также не можете просто использовать Autogenerate.

Проще просто загрузить незашифрованный и зашифрованный вручную на сервер, если вы можете, в противном случае вам нужен точно такой же MachineKey

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...