按需读取智能卡

时间:2017-02-06 12:02:32

标签: 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>

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

https://server/FileSharing/FileSharing/Index

其中FileSharing在地址中两次。有什么想法吗?

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

1 个答案:

答案 0 :(得分:1)

您可能应该在登录之后立即添加辅助页面,重定向到需要证书的“代理”页面,然后如果一切都结束,请移动流程。