[英]How to get TLS/SSL related information in ASP.NET Core?
我想获得有关ASP.NET核心MVC控制器中当前TLS / SSL请求的更多信息。
using Microsoft.AspNetCore.Mvc;
namespace WebApp.Controllers
{
public class HomeController : Controller
{
public IActionResult About()
{
if (HttpContext.Request.IsHttps)
{
// How to get more information about the transport layer ?
ViewData["Message"] = "Connection via TLS/SSL - ... missing details ...";
}
return View();
}
}
}
有没有办法访问使用TLS版本,密码等属性?
我知道在ASP.NET MVC中这是不可能的,如在asp.net mvc 4应用程序中检查ssl协议,密码和其他属性中所述 。 也许与Kestrel的新框架提供了迄今为止我无法找到的这种信息。
您可以使用HttpContext
的Features
属性获取这些值。 如果你打电话:
var tlsHandshakeFeature = request.HttpContext.Features.Get<ITlsHandshakeFeature>();
ITlsHandshakeFeature将为您提供TLS版本(协议属性),CipherAlgorithm以及许多其他功能。
您还可以Get
将为您提供证书的ITlsConnectionFeature 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.