按需读取智能卡

Dea*_*Pue 13 c# ssl cac

我正在创建一个应用程序,用户可以在其中看到登录页面,输入他的电子邮件地址和密码.那时我希望系统读取他的CAC证书并允许他选择.现在我所能做的只是要求SSL,并在用户登录之前要求提供证书.有什么办法可以做到这一点吗?我在本地使用VS 2015测试它并更改applicationhost.config文件.我不确定它在这一点上如何在服务器上以不同的方式运行.基本上,我想在需要时向用户索取证书,而不是之前.

我发现了一些数据,但它仍无法在服务器上运行.我将服务器上的SSL设置更改为不需要SSL并忽略.然后我将其添加到我的web.config文件中:

 <location path="FileSharing/Index" allowOverride="true">
<system.webServer>
  <security>
    <access sslFlags="Ssl,SslNegotiateCert,SslRequireCert"/>
  </security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

有了这个我得到500错误,浏览器正试图去:

https://开头的服务器/文件共享/文件共享/索引

FileSharing在地址中的两次.有任何想法吗?

第一页,只是一个欢迎页面,不需要SSL,但是我希望它在转到索引时读取证书.

小智 1

您可能应该在登录后在中间添加一个辅助页面,重定向到需要证书的“代理”页面,然后如果一切正常,则继续移动流程。