Используйте сертификат Azure в приложении. Не удалось найти сертификат - PullRequest
0 голосов
/ 03 октября 2019

Я размещаю приложение ASP.NET Core 2.2 в веб-приложении Azure в рамках плана обслуживания приложения Linux.

Приложение использует Identity Server 4, и мне нужно использовать сертификат, чтобы при запуске приложения:

      X509Certificate2 certificate = null;

      using (X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser)) {

        store.Open(OpenFlags.ReadOnly);

        X509Certificate2Collection collection = store.Certificates.Find(X509FindType.FindByThumbprint, MyCertificateThumbprint, false);

        if (collection.Count > 0) 
          certificate = collection[0];

      }

      services
        .AddIdentityServer()
        .AddSigningCredential(certificate)

В Azure домен приложения успешно привязан к этому сертификату.

Я скопировал Thumbprint из сертификата в настройках TLS / SSL ...

В приложенииВ конфигурацию я добавил следующую строку:

{
  "name": "WEBSITE_LOAD_CERTIFICATES",
  "value": "*",
  "slotSetting": false
}

Но когда я запускаю приложение, журналы показывают ошибку:

Host terminated unexpectedly
System.ArgumentNullException: Value cannot be null.
Parameter name: certificate
at Microsoft.Extensions.DependencyInjection.IdentityServerBuilderExtensionsCrypto.AddSigningCredential(IIdentityServerBuilder builder, X509Certificate2 certificate)
at Auth.Startup.ConfigureServices(IServiceCollection services) in /home/vsts/work/1/s/src/AuthApp/Startup.cs:line 121

Я пропустил какой-либо шаг?

...