На данный момент у меня есть веб-приложение, которое работает в режиме разработчика, но я пытаюсь заставить его работать с самозаверяющим сертификатом в веб-приложении Linux в Azure. Я уже загрузил файл .pfx в Azure и загрузил его в контейнер, установив параметр приложения WEBSITE_LOAD_CERTIFICATES
. Сначала пробовал пользоваться магазином, однако в Linux это не работает.
Вместо этого я уже смог найти файл, в который он загружен (в файл .p12), однако, когда я пытаюсь загрузить сертификат вручную, я получаю сообщение об ошибке error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure
, которое, похоже, связано с паролем, но я несколько раз подтвердили, что пароль правильный.
Сообщение здесь содержит метод создания самозаверяющих ключей с использованием openssl и показывает ту же проблему.
Примечание. Загрузка сертификата работает как в Windows, так и в Ubuntu, но не в веб-приложении Linux в Azure.
var cryptBytes = System.IO.File.ReadAllBytes($"/var/ssl/private/{Configuration["WEBSITE_LOAD_CERTIFICATES"]}.p12"); var cert = new X509Certificate2(cryptBytes, Configuration["CERT_PASSWORD"]); services.AddIdentityServer() .AddSigningCredential(cert) .AddApiAuthorization<ApplicationUser, ApplicationDbContext>();
- person Jamie Mair   schedule 09.08.2020Configuration["IdentityServer:Key:Type"] = "File"; Configuration["IdentityServer:Key:FilePath"] = $"/var/ssl/private/{Configuration["WEBSITE_LOAD_CERTIFICATES"]}.p12"; Configuration["IdentityServer:Key:Password"] = Configuration["CERT_PASSWORD"]; services.AddIdentityServer() .AddApiAuthorization<ApplicationUser, ApplicationDbContext>();
Извинения за плохое форматирование. - person Jamie Mair   schedule 09.08.2020