智能卡身份验证ASP.NET

时间:2013-04-03 16:03:49

标签: asp.net vb.net authentication iis client-certificates

我们目前拥有一个托管在云环境中的网站。我们为了讨论而说,该网站是https://abc.site.com

我们有一个用于保护网站的通配符SSL证书(*.site.com)

我们被要求实施CAC卡/智能卡实施。有没有办法在按钮点击时读取用户的智能卡/客户端证书?

我们能够在我们的开发环境中读取卡片,但只有当我们使用客户端的证书来实际保护网站时(这不是我们想要实现的方式)。

我已经对此做了大量研究,但是我一直无法找到解决问题的方法。从我所读到的ActiveX控件是使用智能卡证书读取客户端证书存储区的唯一方法,但ActiveX不是我们的选项。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

这是通过要求客户端证书在Web服务器层完成的。用户的浏览器将提示用户提供智能卡(或其他证书)。您可以通过检查证书的CA根来确保他们提供了有效的智能卡证书。

这里有一个(旧的)ASP.NET教程:http://support.microsoft.com/kb/315588

除此之外,没有通用的方法来检索客户端证书,而无需像你所见的那样使用Java applet或ActiveX控件。

答案 1 :(得分:0)

首先,您需要配置IIS以使用客户端证书进行身份验证。您还需要在WebServer中安装所有证书链。

在ASP.NET页面中,您可以使用Request.ClientCertificate访问用于在系统上进行身份验证的证书信息。