Есть одна конечная точка, которая будет вызываться третьей стороной и передавать сертификат PFX, чтобы подтвердить ее. Я понятия не имею, как это сделать, и пытался завязать себя узлами.
У меня есть конечная точка, которая выглядит вот так
Код: Выделить всё
[HttpPost]
[Authorize(Policy = "RequireCertificate")]
public ActionResult Post(PostRequest postRequest)
{
return Ok("Message Received");
}
Код: Выделить всё
//Add authorization policy for certificate-based endpoints
builder.Services.AddAuthorization(options =>
{
options.AddPolicy("RequireCertificate", policy =>
{
policy.RequireAuthenticatedUser();
policy.AddAuthenticationSchemes("Certificate");
});
});
//Configure Kestrel to use HTTPS with a PFX file
builder.WebHost.ConfigureKestrel(options =>
{
options.ListenAnyIP(7241, listenOptions =>
{
listenOptions.UseHttps(httpsOptions =>
{
//If one of these is wrong it will tell you when starting the projct
httpsOptions.ServerCertificate = new X509Certificate2(
@"C:\localhost.pfx", // Path to your PFX file
"your_password" // PFX password
);
});
});
});
[![введите описание изображения][1]][1]
Если я вызову его с помощью почтальона, я получу код 403, когда я проверю консоль, он увидит его в заголовке
[![enter image описание здесь][2]][2]
Я не уверен, что я нахожусь близко или совсем на неверном пути. Я попытался удалить код и сертификаты и получил сообщение об ошибке изменить.
[1]: https://i.sstatic.net/yrZfQyO0.png
[2]: https://i.sstatic.net/V2epGcth.png
Подробнее здесь: https://stackoverflow.com/questions/790 ... h-pfx-file
Мобильная версия