У меня есть основной веб-сайт ASP.Net, развернутый в службе приложений Azure для Linux.
В контроллере я пытаюсь получить сертификат клиента, как показано ниже:
var callerCertificate = Request.HttpContext.Connection.ClientCertificate;
Я всегда получаю callerCertificate
как null .Я попытался await Request.HttpContext.Connection.GetClientCertificateAsync()
с тем же результатом null .
Создание моего веб-сайта выглядит следующим образом:
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseStartup<Startup>()
.UseSerilog();
Я также установил настройку SSL для веб-сайта (в Azure), как показано ниже:
Вызывающая сторона на стороне клиента - это проект net462, который использует Microsoft.Rest.CertificateCredentials
для установки сертификата на запрос HTTP.
var cred = new CertificateCredentials(_deviceCertificate)
...
await this.cred.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);