繁体   English   中英

使用 Microsoft.Owin 验证 SSL 证书

[英]Validate SSL certificates with Microsoft.Owin

我想警告用户有关使用不安全证书的 TLS 连接到与此类似的 Microsoft.Owin 自托管应用程序(释义)。

public class Startup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        HttpConfiguration config = new HttpConfiguration();
        config.Routes.MapHttpRoute(
                name: "API",
                routeTemplate: "{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        appBuilder.UseWebApi(config);
    }
}

在这种情况下从不使用 ServerCertificateValidationCallback,所以这不起作用:

            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateCertificate);

如何对 Microsoft.Owin 应用程序的连接进行证书验证?

这是因为ServerCertificateValidationCallback用于验证诸如HttpClient之类的“远程”证书,但您的应用程序本身就是 HTTP 服务器。

这样的应用程序从Windows HTTP API获取服务器证书,通常由机器管理员控制,您不应尝试验证。

如果您的目标是验证向您的应用发送请求的浏览器/应用,请通过ApiController.Request检查传入请求以查看它是否包含客户端证书。

暂无
暂无

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

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