【问题标题】:Validate SSL certificates with Microsoft.Owin使用 Microsoft.Owin 验证 SSL 证书
【发布时间】:2020-10-12 20:29:54
【问题描述】:

我想警告用户有关使用不安全证书的 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 应用程序的连接进行证书验证?

【问题讨论】:

    标签: c# ssl ssl-certificate owin servicepointmanager


    【解决方案1】:

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

    此类应用从Windows HTTP API 获取服务器证书,该证书通常由机器管理员控制,您不应尝试验证。

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

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 2019-06-14
      • 2017-06-13
      • 2019-03-29
      • 2014-09-24
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 2020-01-05
      相关资源
      最近更新 更多