Предупреждение .Net Core Не настроен XML-шифровальщик - PullRequest
2 голосов
/ 19 апреля 2019

Когда я запускаю свой сервис (API на .Net Core 2.2 в контейнере Docker), я получаю предупреждение:

Не настроен XML-шифратор.Ключ {daa53741-8295-4c9b-ae9c-e69b003f16fa} может быть сохранен в хранилище в незашифрованном виде.

Я не настроил DataProtection.Я нашел решения для настройки DataProtection, но мне не нужно сохранять этот ключ.Для меня, если ключ будет сохраняться только до перезапуска приложения - это нормально.Но мне не нужно видеть это предупреждение в логах

Есть идеи?Как мы можем это сделать?

Мой стартовый класс выглядит так:

public class Startup {
  public Startup(IConfiguration configuration) {
    Configuration = configuration;
  }

  public IConfiguration Configuration { get; }

  public void ConfigureServices(IServiceCollection services) {
    services.AddMemoryCache();
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    services.AddApiVersioning(o => o.ApiVersionReader = new HeaderApiVersionReader("api-version"));
  }

  public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime) {
    if (env.IsDevelopment()) {
      app.UseDeveloperExceptionPage();
    }

    app.UseMvc();

    lifetime.ApplicationStarted.Register(OnApplicationStarted);
    lifetime.ApplicationStopping.Register(OnShutdown);
  }

  public void OnApplicationStarted() {
    Console.Out.WriteLine($"Open Api Started");
  }

  public void OnShutdown() {
    Console.Out.WriteLine($"Open Api is shutting down.");
  }
}

Может быть, это тоже поможет мои пакеты в проекте

<ItemGroup>
    <PackageReference Include="BouncyCastle.NetCore" Version="1.8.5" />
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="3.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.5.4" />
    <PackageReference Include="Oracle.ManagedDataAccess.Core" Version="2.18.6" />
</ItemGroup>

1 Ответ

2 голосов
/ 19 апреля 2019

Эта проблема связана с ошибкой в ​​самом IIS, которая может или не может быть исправлена. Чтобы обойти эту проблему, необходимо отредактировать пул приложений, чтобы включить загрузку профиля пользователя. Как только вы настроите свой пул приложений для загрузки профиля пользователя для удостоверения пула приложений, приложение получит разрешение на чтение и запись в системный реестр, как и предполагалось.

IIS> Расширенные настройки> Загрузить профиль пользователя: true

Кроме того, вы можете настроить защиту данных на использование другого метода хранения ключей, например, UNC-ресурса .

Источник для получения дополнительной информации

...