繁体   English   中英

如何在ASP.NET Core中获取TLS / SSL相关信息?

[英]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的新框架提供了迄今为止我无法找到的这种信息。

您可以使用HttpContextFeatures属性获取这些值。 如果你打电话:

var tlsHandshakeFeature = request.HttpContext.Features.Get<ITlsHandshakeFeature>();

ITlsHandshakeFeature将为您提供TLS版本(协议属性),CipherAlgorithm以及许多其他功能。
您还可以Get将为您提供证书的ITlsConnectionFeature

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM