Как мне поддержать защиту данных .NET Core в полном пакете Nuget? - PullRequest
0 голосов
/ 08 января 2019

Резюме

У меня есть существующий пакет Nuget, написанный на .NET 4.6.1, который включает шифрование значений cookie. При этом использовались методы MachineEncrypt и MachineDecrypt для шифрования. Этот пакет использовали только полнофункциональные приложения, и все работало нормально, но теперь у нас есть приложение .NET Core, которое также должно будет использовать этот пакет. Я понимаю, что пакет нужно будет переписать для целевого .NET Core, чтобы он мог быть совместим с приложением, но это подразумевает использование API защиты данных .NET Core обеспечивает шифрование вместо методов шифрования компьютера. Все шифрование должно быть одинаковым, поскольку все приложения имеют доступ к значениям cookie. У меня вопрос: как мне это реализовать?

Что я пробовал

Я попытался обновить существующий полный пакет Nuget, чтобы ссылаться на библиотеки .NET Core DLL и реализовать методы защиты данных. При использовании модульного теста это работало в режиме отладки, но как только пакет Nuget был использован полнофункциональным приложением, работающим на .NET 4.0, я получил DLL, но не обнаружил ошибок, связанных с библиотеками AspNetCore. Необходимые среды выполнения для .NET 4.6.1 и .NET Core 2.2.0 были установлены на веб-сервере, но поскольку пакет Nuget предназначен для .NET 4.6.1, возможно, среда выполнения 4.6.1 не может получить доступ к защите данных DLL, связанные с .NET Core 2.2.0?

код

Ошибка DLL не найдена:

Не удалось загрузить файл или сборку "Microsoft.Extensions.DataProtection, версия = 2.2.0.0, культура = нейтральная" или одну из ее зависимостей. Система не может найти указанный файл.

Я пытаюсь преобразовать мои методы MachineEncrypt и MachineDecrypt в этот метод защиты данных, внедренный в ядро ​​.NET Core:

https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/introduction?view=aspnetcore-2.2

Что я ожидаю

Этот вопрос может показаться широким, но я действительно хочу знать следующее:

  1. Как я / могу ли я реализовать защиту данных .NET Core в полном пакете Nuget?
  2. Если я могу, почему я получаю DLL не найденные ошибки после того, как я использую пакет в моем полном каркасном приложении?
  3. Если я не могу, вы можете сообщить мне о любых альтернативных методах, которые я могу использовать для достижения шифрования данных, совместимого как с .NET, так и .NET Core?
...