繁体   English   中英

有没有办法在ASP.NET 5中使用客户端证书?

[英]Is there any way to use Client Certificates with ASP.NET 5?

我们正在开发一个ASP.NET 5项目,其中一个要求是用户身份验证是通过浏览器通过客户端证书完成的,但我无法使其工作。

使用web.config和IIS,使用此配置正确请求证书:

<system.webServer>
  <security>
    <access sslFlags="Ssl, SslNegotiateCert" />
    <authentication>
      <iisClientCertificateMappingAuthentication enabled="true" />
    </authentication>
  </security>
</system.webServer>

但是客户端证书没有到达Web应用程序,因为我知道它应该在context.Connection.ClientCertificate属性中,其中context是当前的HttpContext

我怀疑将IIS隧道连接到Kestrel的httpPlatformHandler忽略了https,这可能在将来实现。

我已经使用OWIN站点(而不是DNX)和自定义AuthenticationHandler进行了一些测试,该AuthenticationHandler获取X509客户端证书并在IIS下正常运行。

看起来已经完成了一些工作,并且执行了拉取请求和合并。 所以...希望我们会在Kestrel的更新版本中看到它。

请参见: https//github.com/aspnet/KestrelHttpServer/pull/385

我可以在更改到IIS托管模型公告中阅读:

  • HttpPlatformHandler目前不转发客户端证书(这将是未来的增强功能)

所以,现在似乎不可能, httpPlaformHandler必须修复。

暂无
暂无

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

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